GSList *src_list;
print_dissections_e print_dissections;
gboolean print_hex_for_data;
- char_enc encoding;
+ packet_char_enc encoding;
epan_dissect_t *edt;
} print_data;
static const guint8 *get_field_data(GSList *src_list, field_info *fi);
static void write_pdml_field_hex_value(write_pdml_data *pdata, field_info *fi);
static gboolean print_hex_data_buffer(print_stream_t *stream, const guchar *cp,
- guint length, char_enc encoding);
+ guint length, packet_char_enc encoding);
static void ps_clean_string(unsigned char *out, const unsigned char *in,
int outbuf_size);
static void print_escaped_xml(FILE *fh, const char *unescaped_string);
#if 0
/* PDML spec, see:
- * http://analyzer.polito.it/30alpha/docs/dissectors/PDMLSpec.htm
+ * http://www.nbee.org/doku.php?id=netpdl:pdml_specification
*
* the show fields contains things in 'human readable' format
* showname: contains only the name of the field
if (g_ptr_array_len(finfo_array) < 1) {
return;
}
- frame_finfo = finfo_array->pdata[0];
+ frame_finfo = (field_info *)finfo_array->pdata[0];
g_ptr_array_free(finfo_array, TRUE);
/* frame.number --> geninfo.num */
if (g_ptr_array_len(finfo_array) < 1) {
return;
}
- timestamp = fvalue_get(&((field_info*)finfo_array->pdata[0])->value);
+ timestamp = (nstime_t *)fvalue_get(&((field_info*)finfo_array->pdata[0])->value);
g_ptr_array_free(finfo_array, TRUE);
/* Print geninfo start */
gint length, tvbuff_length;
for (src_le = src_list; src_le != NULL; src_le = src_le->next) {
- src = src_le->data;
+ src = (data_source *)src_le->data;
src_tvb = src->tvb;
if (fi->ds_tvb == src_tvb) {
/*
print_escaped_xml(FILE *fh, const char *unescaped_string)
{
const char *p;
+ char temp_str[8];
for (p = unescaped_string; *p != '\0'; p++) {
switch (*p) {
fputs("'", fh);
break;
default:
- fputc(*p, fh);
+ if (g_ascii_isprint(*p))
+ fputc(*p, fh);
+ else {
+ g_snprintf(temp_str, sizeof(temp_str), "\\x%x", (guint8)*p);
+ fputs(temp_str, fh);
+ }
}
}
}
for (src_le = edt->pi.data_src; src_le != NULL;
src_le = src_le->next) {
- src = src_le->data;
+ src = (data_source *)src_le->data;
tvb = src->tvb;
if (multiple_sources) {
name = get_data_source_name(src);
static gboolean
print_hex_data_buffer(print_stream_t *stream, const guchar *cp,
- guint length, char_enc encoding)
+ guint length, packet_char_enc encoding)
{
register unsigned int ad, i, j, k, l;
guchar c;
line[j++] = binhex[c>>4];
line[j++] = binhex[c&0xf];
j++;
- if (encoding == CHAR_EBCDIC) {
+ if (encoding == PACKET_CHAR_ENC_CHAR_EBCDIC) {
c = EBCDIC_to_ASCII1(c);
}
line[k++] = c >= ' ' && c < 0x7f ? c : '.';
static gboolean
print_line_text(print_stream_t *self, int indent, const char *line)
{
- output_text *output = self->data;
+ output_text *output = (output_text *)self->data;
char space[MAX_INDENT+1];
int i;
int num_spaces;
static gboolean
new_page_text(print_stream_t *self)
{
- output_text *output = self->data;
+ output_text *output = (output_text *)self->data;
fputs("\f", output->fh);
return !ferror(output->fh);
static gboolean
destroy_text(print_stream_t *self)
{
- output_text *output = self->data;
+ output_text *output = (output_text *)self->data;
gboolean ret;
ret = close_print_dest(output->to_file, output->fh);
print_stream_t *stream;
output_text *output;
- output = g_malloc(sizeof *output);
+ output = (output_text *)g_malloc(sizeof *output);
output->to_file = to_file;
output->fh = fh;
- stream = g_malloc(sizeof (print_stream_t));
+ stream = (print_stream_t *)g_malloc(sizeof (print_stream_t));
stream->ops = &print_text_ops;
stream->data = output;
static gboolean
print_preamble_ps(print_stream_t *self, gchar *filename)
{
- output_ps *output = self->data;
+ output_ps *output = (output_ps *)self->data;
unsigned char psbuffer[MAX_PS_LINE_LENGTH]; /* static sized buffer! */
print_ps_preamble(output->fh);
static gboolean
print_line_ps(print_stream_t *self, int indent, const char *line)
{
- output_ps *output = self->data;
+ output_ps *output = (output_ps *)self->data;
unsigned char psbuffer[MAX_PS_LINE_LENGTH]; /* static sized buffer! */
ps_clean_string(psbuffer, line, MAX_PS_LINE_LENGTH);
static gboolean
print_bookmark_ps(print_stream_t *self, const gchar *name, const gchar *title)
{
- output_ps *output = self->data;
+ output_ps *output = (output_ps *)self->data;
unsigned char psbuffer[MAX_PS_LINE_LENGTH]; /* static sized buffer! */
/*
static gboolean
new_page_ps(print_stream_t *self)
{
- output_ps *output = self->data;
+ output_ps *output = (output_ps *)self->data;
fputs("formfeed\n", output->fh);
return !ferror(output->fh);
static gboolean
print_finale_ps(print_stream_t *self)
{
- output_ps *output = self->data;
+ output_ps *output = (output_ps *)self->data;
print_ps_finale(output->fh);
return !ferror(output->fh);
static gboolean
destroy_ps(print_stream_t *self)
{
- output_ps *output = self->data;
+ output_ps *output = (output_ps *)self->data;
gboolean ret;
ret = close_print_dest(output->to_file, output->fh);
print_stream_t *stream;
output_ps *output;
- output = g_malloc(sizeof *output);
+ output = (output_ps *)g_malloc(sizeof *output);
output->to_file = to_file;
output->fh = fh;
- stream = g_malloc(sizeof (print_stream_t));
+ stream = (print_stream_t *)g_malloc(sizeof (print_stream_t));
stream->ops = &print_ps_ops;
stream->data = output;
if(NULL != fields->fields) {
gsize i;
for(i = 0; i < fields->fields->len; ++i) {
- gchar* field = g_ptr_array_index(fields->fields,i);
+ gchar* field = (gchar *)g_ptr_array_index(fields->fields,i);
g_free(field);
}
g_ptr_array_free(fields->fields, TRUE);
}
for(i = 0; i < fields->fields->len; ++i) {
- const gchar* field = g_ptr_array_index(fields->fields,i);
+ const gchar* field = (const gchar *)g_ptr_array_index(fields->fields,i);
if(i != 0 ) {
fputc(fields->separator, fh);
}
field_info *fi;
gpointer field_index;
- call_data = data;
+ call_data = (write_field_data_t *)data;
fi = PNODE_FINFO(node);
g_assert(fi && "dissection with an invisible proto tree?");
i = 0;
while( i < fields->fields->len) {
- gchar* field = g_ptr_array_index(fields->fields, i);
+ gchar* field = (gchar *)g_ptr_array_index(fields->fields, i);
/* Store field indicies +1 so that zero is not a valid value,
* and can be distinguished from NULL as a pointer.
*/