From: Mike F. <va...@ge...> - 2009-07-22 07:04:52
|
On Wednesday 22 July 2009 02:52:25 Garrett Cooper wrote: > On Jul 21, 2009, at 10:22 PM, Mike Frysinger wrote: > > On Wednesday 22 July 2009 01:01:34 Garrett Cooper wrote: > >> On Tue, Jul 21, 2009 at 9:38 PM, Garrett Cooper wrote: > >>> On Tue, Jul 21, 2009 at 2:28 PM, Mike Frysinger wrote: > >>>> On Tuesday 21 July 2009 10:21:44 Garrett Cooper wrote: > >>>>> I was tempted to fix the format string error, but I don't know > >>>>> what > >>>>> the potential implications are of switching the data type from > >>>>> u_int64_t to unsigned long long... > >>>> > >>>> dont do that. just use the proper format string from inttypes.h. > >>>> uint64_t f; > >>>> printf("f = %"PRIu64"\n", f); > >> > >> - fprintf(stdout, "[%u] wait completed on %d: count=%llu\n", > >> + fprintf(stdout, "[%u] wait completed on %d: count=%lu64\n", > >> getpid(), fd, cntr); > > > > umm, you sure that's right ? seems to me it'll output the number > > followed by > > the string "64". i think you need to look at my example again (and > > take > > notice of the quote marks). > > Your suggestion didn't compile and unfortunately the testcase appears > to be broken. I'll retest when I get home. did you include inttypes.h ? i'm pretty sure your proposed change would (1) fix warnings for one arch size, (2) add warnings for the other arch size, and (3) add a spurious "64" string to the output. -mike |