localtime

Tod listacctc@gmail.com
Wed Jun 15 18:07:00 GMT 2011


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:
>>>>> Hi,
>>>>>
>>>>> 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));
>>>>       strftime(tout,strlen(tout),"%m/%d/%Y:%H:%M:%S",&tim);
>>>>
>>>>       return(tout);
>>>>      }
>>>>
>>>> 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?


Thanks!

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list