int output_start_line(output_t *output) { int i,j; char buf[LNF_INFO_BUFSIZE]; field_ent_t *fe; format_ent_t fmte; for (i = 0; i < output->numfields; i++) { fe = &output->fields[i]; /* get field entry for better manipulation */ /* set output formating function and formating callback */ for (j = 0; j < sizeof(formats) / sizeof(format_ent_t); j++) { /* default for all */ if ( formats[j].type == 0 ) { memcpy(&fmte, &formats[j], sizeof(format_ent_t)); } /* default for type */ if ( formats[j].type == lnf_fld_type(fe->field) && formats[j].field == 0) { memcpy(&fmte, &formats[j], sizeof(format_ent_t)); } /* particular type and field */ if ( formats[j].type == lnf_fld_type(fe->field) && formats[j].field == fe->field) { memcpy(&fmte, &formats[j], sizeof(format_ent_t)); } } strncpy(fe->format, fmte.format, MAX_STR); fe->format_func = fmte.format_func; /* print header */ lnf_fld_info(fe->field, LNF_FLD_INFO_NAME, &buf, LNF_INFO_BUFSIZE); strncpy(fe->name, buf, MAX_STR); printf(output->fields[i].format, &buf); } printf("\n"); return 1; }
/* TAG for check_items_map.pl: lnf_rec_fget */ int lnf_rec_fget(lnf_rec_t *rec, int field, void * p) { if (lnf_fld_type(field) == LNF_NONE) { return LNF_ERR_UNKFLD; } return __lnf_rec_fget(rec, field, p); }