This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: localtime

On 06/15/2011 1:48 PM, Christopher Faylor wrote:
On Wed, Jun 15, 2011 at 01:45:03PM -0400, Tod wrote:
On 06/15/2011 1:38 PM, Christopher Faylor wrote:
On Wed, Jun 15, 2011 at 01:23:05PM -0400, Tod wrote:
On 06/15/2011 11:26 AM, Tod wrote:

Has anything change in regards to the C localtime function since 2007?
I've got a program with a function that uses it to present the date and
time that I just changed. The time isn't appearing only the date.

No errors, no dumps, just no time. Most bizarre.

TIA - Tod

Incidentally, here's how I'm valuing the time.  Worked with the 2007
version of cygwin1.dll (not that I'm blaming cygwin):

char * getTime(char *tout)
      time_t      now;
      struct      tm tim;

      now = time(NULL);
      tim = *(localtime(&now));


tout is a 128 byte character array.

If that's really what you're using then strlen(tout) seems obviously wrong. It should be 128.

Won't strlen(tout) resolve to 128?

No. It resolves to the length of the string, whatever that happens to be. If it was "abc", then strlen would == 3.

Ok, right - duh. Let me back up a couple of steps.

I'm passing a 128 byte char array. I allocated it to provide enough room for the date/time stamp this function is returning. strlen(tout) will resolve to the length of the tout string.

You said above that I shouldn't be using strlen(tout) and instead I should be passing 128. Would I be better off using sizeof(tout) instead?

Also, the code has always worked. I just recompiled it recently. Now the date works but the time isn't appearing. What could be causing that?


Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]