time_t is defined in time.h as :
typedef unsigned int time_t;
In my opinion it should be defined as :
typedef long time_t;
Am I right ?