time_t definition

Michael Sierchio kudzu at tenebras.com
Wed Jan 16 18:21:09 UTC 2013


Top posting for brevity - the fact is, the code in your original
example is wrong.  There are reasons to complain about argument size
mismatches, esp. in print functions that call (versions of) malloc.
You should cast the time_t value explicitly, or use %d instead of %ld.

- M

On Wed, Jan 16, 2013 at 10:14 AM, Thomas D. Dean <tomdean at speakeasy.org> wrote:
> On 01/16/13 03:00, Patrick Lamaiziere wrote:
>
>> Looks like gcc47 checks the printf format string (-Wformat)
>> Disable this check or convert your time_t.
>
>
> Yes, I know gcc47 checks the format string.
>
> But, time_t is of type int32, from a typedef statement.
>
>
> #include <stdio.h>
> typedef int zzz;
> typedef zzz yyy;
> typedef yyy xxx;
> int main() {
>   xxx idx;
>   for (idx=0; idx<10; idx++) printf("%d\n",idx);
>   return 0;
> }
>
> does not produce the error (I did this on the 'other' system)
>> gcc --version
> gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
> ...
>
>> gcc -O2 -pipe  -I../../include -std=gnu99 -fstack-protector
>> -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized
>> -Wno-pointer-sign xxx.c -o xxx
>
> I did not think to do this on the FreeBSD system I was using yesterday.
>
> What I don't understand is where gcc is losing track of this definition.
>
> In 9.0, or maybe earlier, the definition of time_t was changed with a view
> toward 64-bit systems.  I remember a statement to the effect of "in 2038,
> 32-bit time will overflow.  It is unlikely that many 32-biot systems will be
> around then.  So, making the change to 64-bit now will prevent having to do
> it in the future".
>
> So, now, it seems that any calculation involving time_t requires a cast????
>
> Tom Dean
>
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"


More information about the freebsd-questions mailing list