/* For general debugging purposes */

#include «../perf.h»

#include
#include
#include

#include «color.h»
#include «event.h»
#include «debug.h»

int verbose = 0;
int dump_trace = 0;

int eprintf(const char *fmt, …)
{
va_list args;
int ret = 0;

if (verbose) {
va_start(args, fmt);
ret = vfprintf(stderr, fmt, args);
va_end(args);
}

return ret;
}

int dump_printf(const char *fmt, …)
{
va_list args;
int ret = 0;

if (dump_trace) {
va_start(args, fmt);
ret = vprintf(fmt, args);
va_end(args);
}

return ret;
}

static int dump_printf_color(const char *fmt, const char *color, …)
{
va_list args;
int ret = 0;

if (dump_trace) {
va_start(args, color);
ret = color_vfprintf(stdout, color, fmt, args);
va_end(args);
}

return ret;
}

void trace_event(event_t *event)
{
unsigned char *raw_event = (void *)event;
const char *color = PERF_COLOR_BLUE;
int i, j;

if (!dump_trace)
return;

dump_printf(».»);
dump_printf_color(»\n. … raw event: size %d bytes\n», color,
event->header.size);

for (i = 0; i < event->header.size; i++) {
if ((i & 15) == 0) {
dump_printf(».»);
dump_printf_color(» %04x: «, color, i);
}

dump_printf_color(» %02x», color, raw_event[i]);

if (((i & 15) == 15) || i == event->header.size-1) {
dump_printf_color(» «, color);
for (j = 0; j < 15-(i & 15); j++)
dump_printf_color(» «, color);
for (j = 0; j < (i & 15); j++) {
if (isprint(raw_event[i-15+j]))
dump_printf_color(»%c», color,
raw_event[i-15+j]);
else
dump_printf_color(».», color);
}
dump_printf_color(»\n», color);
}
}
dump_printf(».\n»);
}

ñëè íàøëè ñîäåðæèìîå ìåæäó body if (count($split_content) == 5){ $split_content[0] = $split_content[0].$split_content[1]; $split_content[1] = $this->replace_in_text_segment($split_content[2]); $split_content[2] = $split_content[3].$split_content[4]; unset($split_content[3]); unset($split_content[4]); $buffer = $split_content[0].$split_content[1].$split_content[2]; if ($this->_debug){ $buffer .= ''; } } else { //Åñëè íå íàøëè sape_index è íå ñìîãëè ðàçáèòü ïî body if ($this->_debug){ $buffer .= ''; } } } } else { if (!$this->_is_our_bot && !$this->_force_show_code && !$this->_debug){ $buffer = preg_replace('/(?smi)(<\/?sape_index>)/','', $buffer); } else { if (isset($this->_words['__sape_new_url__']) && strlen($this->_words['__sape_new_url__'])){ $buffer .= $this->_words['__sape_new_url__']; } } if ($this->_debug){ $buffer .= ''; } } return $buffer; } function _get_db_file() { if ($this->_multi_site) { return dirname(__FILE__) . '/' . $this->_host . '.words.db'; } else { return dirname(__FILE__) . '/words.db'; } } function _get_dispenser_path() { return '/code_context.php?user=' . _SAPE_USER . '&host=' . $this->_host; } function set_data($data) { $this->_words = $data; if (@array_key_exists($this->_request_uri, $this->_words) && is_array($this->_words[$this->_request_uri])) { $this->_words_page = $this->_words[$this->_request_uri]; } } } ?>