printfieldhdr.c revision 255332
1/* 2 * Copyright (C) 2012 by Darren Reed. 3 * 4 * See the IPFILTER.LICENCE file for details on licencing. 5 * 6 * $Id: printfieldhdr.c,v 1.5.2.3 2012/07/22 08:04:24 darren_r Exp $ 7 */ 8 9#include "ipf.h" 10#include <ctype.h> 11 12 13void 14printfieldhdr(words, field) 15 wordtab_t *words, *field; 16{ 17 wordtab_t *w; 18 char *s, *t; 19 int i; 20 21 if (field->w_value == -2) { 22 for (i = 0, w = words; w->w_word != NULL; ) { 23 if (w->w_value > 0) { 24 printfieldhdr(words, w); 25 w++; 26 if (w->w_value > 0) 27 putchar('\t'); 28 } else { 29 w++; 30 } 31 } 32 return; 33 } 34 35 for (w = words; w->w_word != NULL; w++) { 36 if (w->w_value == field->w_value) { 37 if (w->w_word == field->w_word) { 38 s = strdup(w->w_word); 39 } else { 40 s = NULL; 41 } 42 43 if ((w->w_word != field->w_word) || (s == NULL)) { 44 PRINTF("%s", field->w_word); 45 } else { 46 for (t = s; *t != '\0'; t++) { 47 if (ISALPHA(*t) && ISLOWER(*t)) 48 *t = TOUPPER(*t); 49 } 50 PRINTF("%s", s); 51 free(s); 52 } 53 } 54 } 55} 56