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 13 void 14 printfieldhdr(words, field) 15 wordtab_t *words, *field; 16 { 17 wordtab_t *w; 18 char *s, *t; 19 20 if (field->w_value == -2) { 21 for (w = words; w->w_word != NULL; ) { 22 if (w->w_value > 0) { 23 printfieldhdr(words, w); 24 w++; 25 if (w->w_value > 0) 26 putchar('\t'); 27 } else { 28 w++; 29 } 30 } 31 return; 32 } 33 34 for (w = words; w->w_word != NULL; w++) { 35 if (w->w_value == field->w_value) { 36 if (w->w_word == field->w_word) { 37 s = strdup(w->w_word); 38 } else { 39 s = NULL; 40 } 41 42 if ((w->w_word != field->w_word) || (s == NULL)) { 43 PRINTF("%s", field->w_word); 44 } else { 45 for (t = s; *t != '\0'; t++) { 46 if (ISALPHA(*t) && ISLOWER(*t)) 47 *t = TOUPPER(*t); 48 } 49 PRINTF("%s", s); 50 free(s); 51 } 52 } 53 } 54 } 55