On 2006-08-11 21:31, Julian Elischer <julian_at_elischer.org> wrote: >Giorgos Keramidas wrote: >>On 2006-08-11 20:54, Julian Elischer <julian_at_elischer.org> wrote: >>> Yes I said I hacked it in :-) >>> In my app you will never have such long lines.. >>> basically you need something that reads lines and tells you how much it >>> read.. >>> (I have no idea WHY fgets need sto return the START.. you already KNOW >>> that!) >>> it'd be nice if you didn't have to to a strlen() on each line. >> >> Perhaps the solution Sam proposed is much better then? >> >>To read one >>character at-a-time and only special-case the '\n' characters? > > I didn't see that being mentionned anywhere, but I guess compared to > running date once for every line > I could live with a strlen(). :-) > it'd probably be more efficient than doing it one char at a time. > > >Maybe something like this? > > > > if (sflag) { > > > > > > > [...] > > > otval = tval; > > } > > (void)printf("%s", buf); > > if (fflush(stdout)) > > > > > > wonder if it would want to be flushed less often if stdout was a file.. > I think stdio would do the right thing in most cases so I guess teh > fflush woudl only be needed at the end, after the last file, > or maybe just on a signal handler so it flushes out the last buffer on ^C IIRC, stdio can buffer more than one line, so now that you mention it, maybe it is a good idea to flush at every '\n' character to make output appear every time there's a complete line ready. I'm too sleepy to run tests now, but if you still want something inside date(1) -- which is probably the only logical place to put it (to let us leverage the date/time formatting code date(1) already has) -- then I can run a few tests during the weekend and see which approach works better, for some definition of `better' :-)Received on Sat Aug 12 2006 - 02:56:56 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:58 UTC