jim 99/05/21 18:37:43
Modified: src/ap ap_snprintf.c Log: Some fine-tuning... use enums rather than 3 stupid vars Revision Changes Path 1.30 +23 -30 apache-1.3/src/ap/ap_snprintf.c Index: ap_snprintf.c =================================================================== RCS file: /export/home/cvs/apache-1.3/src/ap/ap_snprintf.c,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- ap_snprintf.c 1999/05/22 00:16:50 1.29 +++ ap_snprintf.c 1999/05/22 01:37:41 1.30 @@ -582,12 +582,13 @@ char num_buf[NUM_BUF_SIZE]; char char_buf[2]; /* for printing %% and %<unknown> */ + enum { + IS_QUAD, IS_LONG, IS_SHORT, IS_INT + } var_type; + /* * Flag variables */ - boolean_e is_short; - boolean_e is_long; - boolean_e is_quad; boolean_e alternate_form; boolean_e print_sign; boolean_e print_blank; @@ -686,27 +687,19 @@ * Modifier check */ if (*fmt == 'q') { - is_quad = YES; - is_long = NO; - is_short = NO; + var_type = IS_QUAD; fmt++; } else if (*fmt == 'l') { - is_quad = NO; - is_long = YES; - is_short = NO; + var_type = IS_LONG; fmt++; } else if (*fmt == 'h') { - is_quad = NO; - is_long = NO; - is_short = YES; + var_type = IS_SHORT; fmt++; } else { - is_quad = NO; - is_long = NO; - is_short = NO; + var_type = IS_INT; } /* @@ -722,11 +715,11 @@ */ switch (*fmt) { case 'u': - if (is_quad) + if (var_type == IS_QUAD) i_num = va_arg(ap, u_widest_int); - else if (is_long) + else if (var_type == IS_LONG) i_num = (widest_int) va_arg(ap, u_wide_int); - else if (is_short) + else if (var_type == IS_SHORT) i_num = (widest_int) (unsigned short) va_arg(ap, unsigned int); else i_num = (widest_int) va_arg(ap, unsigned int); @@ -737,11 +730,11 @@ case 'd': case 'i': - if (is_quad) + if (var_type == IS_QUAD) i_num = va_arg(ap, widest_int); - else if (is_long) + else if (var_type == IS_LONG) i_num = (widest_int) va_arg(ap, wide_int); - else if (is_short) + else if (var_type == IS_SHORT) i_num = (widest_int) (short) va_arg(ap, int); else i_num = (widest_int) va_arg(ap, int); @@ -759,11 +752,11 @@ case 'o': - if (is_quad) + if (var_type == IS_QUAD) ui_num = va_arg(ap, u_widest_int); - else if (is_long) + else if (var_type == IS_LONG) ui_num = (u_widest_int) va_arg(ap, u_wide_int); - else if (is_short) + else if (var_type == IS_SHORT) ui_num = (u_widest_int) (unsigned short) va_arg(ap, unsigned int); else ui_num = (u_widest_int) va_arg(ap, unsigned int); @@ -779,11 +772,11 @@ case 'x': case 'X': - if (is_quad) + if (var_type == IS_QUAD) ui_num = va_arg(ap, u_widest_int); - else if (is_long) + else if (var_type == IS_LONG) ui_num = (u_widest_int) va_arg(ap, u_wide_int); - else if (is_short) + else if (var_type == IS_SHORT) ui_num = (u_widest_int) (unsigned short) va_arg(ap, unsigned int); else ui_num = (u_widest_int) va_arg(ap, unsigned int); @@ -878,11 +871,11 @@ case 'n': - if (is_quad) + if (var_type == IS_QUAD) *(va_arg(ap, widest_int *)) = cc; - else if (is_long) + else if (var_type == IS_LONG) *(va_arg(ap, long *)) = cc; - else if (is_short) + else if (var_type == IS_SHORT) *(va_arg(ap, short *)) = cc; else *(va_arg(ap, int *)) = cc;