On 2021/10/04 21:53, kuroda.hay...@fujitsu.com wrote:
                if (*p == '-' ? isdigit(p[1]) : isdigit(p[0]))
                {
                        char *endptr;
                        padding = strtol(p, &endptr, 10);
                        if (p == endptr)
                                break;
                        p = endptr;
                }
                else
                        padding = 0;
I removed the support function based on your suggestion,
but added some if-statement in order to treats the special case: '%-p'.
+               else if (*p == '-' ? isdigit(p[1]) : isdigit(p[0]))
+               {
+                       char *endptr;
+                       padding = strtol(p, &endptr, 10);

Maybe isdigit() and strtol() work differently depending on locale setting?
If so, I'm afraid that the behavior of this new code would be different from
process_log_prefix_padding().

Regards,

--
Fujii Masao
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION


Reply via email to