void PacketList::writeRecent(FILE *rf) { gint col, width, col_fmt; gchar xalign; fprintf (rf, "%s:", RECENT_KEY_COL_WIDTH); for (col = 0; col < packet_list_model_->columnCount(); col++) { if (col > 0) { fprintf (rf, ","); } col_fmt = get_column_format(col); if (col_fmt == COL_CUSTOM) { fprintf (rf, " %%Cus:%s,", get_column_custom_field(col)); } else { fprintf (rf, " %s,", col_format_to_string(col_fmt)); } width = columnWidth(col); xalign = recent_get_column_xalign (col); if (width == 0) { /* We have not initialized the packet list yet, use old values */ width = recent_get_column_width (col); } fprintf (rf, " %d", width); if (xalign != COLUMN_XALIGN_DEFAULT) { fprintf (rf, ":%c", xalign); } } fprintf (rf, "\n"); }
void build_column_format_array(column_info *cinfo, const gint num_cols, const gboolean reset_fences) { int i; /* Build the column format array */ col_setup(cinfo, num_cols); for (i = 0; i < cinfo->num_cols; i++) { cinfo->col_fmt[i] = get_column_format(i); cinfo->col_title[i] = g_strdup(get_column_title(i)); if (cinfo->col_fmt[i] == COL_CUSTOM) { cinfo->col_custom_field[i] = g_strdup(get_column_custom_field(i)); if(!dfilter_compile(cinfo->col_custom_field[i], &cinfo->col_custom_dfilter[i])) { /* XXX: Should we issue a warning? */ g_free(cinfo->col_custom_field[i]); cinfo->col_custom_field[i] = NULL; cinfo->col_custom_dfilter[i] = NULL; } } else { cinfo->col_custom_field[i] = NULL; cinfo->col_custom_dfilter[i] = NULL; } cinfo->fmt_matx[i] = (gboolean *) g_malloc0(sizeof(gboolean) * NUM_COL_FMTS); get_column_format_matches(cinfo->fmt_matx[i], cinfo->col_fmt[i]); cinfo->col_data[i] = NULL; if (cinfo->col_fmt[i] == COL_INFO) cinfo->col_buf[i] = (gchar *) g_malloc(sizeof(gchar) * COL_MAX_INFO_LEN); else cinfo->col_buf[i] = (gchar *) g_malloc(sizeof(gchar) * COL_MAX_LEN); if(reset_fences) cinfo->col_fence[i] = 0; cinfo->col_expr.col_expr[i] = (gchar *) g_malloc(sizeof(gchar) * COL_MAX_LEN); cinfo->col_expr.col_expr_val[i] = (gchar *) g_malloc(sizeof(gchar) * COL_MAX_LEN); } cinfo->col_expr.col_expr[i] = NULL; cinfo->col_expr.col_expr_val[i] = NULL; for (i = 0; i < cinfo->num_cols; i++) { int j; for (j = 0; j < NUM_COL_FMTS; j++) { if (!cinfo->fmt_matx[i][j]) continue; if (cinfo->col_first[j] == -1) cinfo->col_first[j] = i; cinfo->col_last[j] = i; } } }