]> granicus.if.org Git - php/commitdiff
fixed alternate form for 'x' and 'X' formats
authorArnaud Le Blanc <arnaud.lb@gmail.com>
Sun, 13 Jan 2013 14:45:15 +0000 (15:45 +0100)
committerArnaud Le Blanc <arnaud.lb@gmail.com>
Sun, 13 Jan 2013 14:45:15 +0000 (15:45 +0100)
same fix exists in original code:
https://svn.apache.org/viewvc?view=revision&revision=1152309

main/spprintf.c

index bb401ab136eeb88d224bccdae5baae600f544b15..596e1ef456b6c4a1154728615770e45d6a5bb17d 100644 (file)
@@ -211,7 +211,7 @@ static void xbuf_format_converter(smart_str *xbuf, const char *fmt, va_list ap)
 
        double fp_num;
        wide_int i_num = (wide_int) 0;
-       u_wide_int ui_num;
+       u_wide_int ui_num = (u_wide_int) 0;
 
        char num_buf[NUM_BUF_SIZE];
        char char_buf[2];                       /* for printing %% and %<unknown> */
@@ -560,7 +560,7 @@ static void xbuf_format_converter(smart_str *xbuf, const char *fmt, va_list ap)
                                        s = ap_php_conv_p2(ui_num, 4, *fmt,
                                                                &num_buf[NUM_BUF_SIZE], &s_len);
                                        FIX_PRECISION(adjust_precision, precision, s, s_len);
-                                       if (alternate_form && i_num != 0) {
+                                       if (alternate_form && ui_num != 0) {
                                                *--s = *fmt;    /* 'x' or 'X' */
                                                *--s = '0';
                                                s_len += 2;