Inactive

Project Summary

  Analyzed 6 days ago based on code collected 6 days ago.

This project is in need of an experienced C programmer to apply C best practices.

This project is in need of more cross platform testing

The goal of this project is to provide a drop-in replacement for POSIX time.h which will work on machines which have a 32-bit time_t, yet not suffer from the 2038 bug. This will allow C programmers to be 2038-safe without having to rewrite their software to a new interface. It does this while still using the system time zone database.

Many Unix time and date functions cannot calculate a date beyond Tuesday, January 19, 2038. This is known as the Year 2038 Problem and it effects most Unix and Macintosh computers currently in use.

Unlike the Y2K bug, it is by design and we know how to fix it. time_t, the data type which stores time on Unix, is normally only large enough to hold time up to 2038. Making it larger would solve the problem. Many 64 bit operating systems have done that, but that requires recompiling much of your software, so many have not. For example, most Macs run on a 64 bit processor but still use the smaller 32 bit time_t.

Our first targets are Perl, Ruby and Python.

The first goal is to replicate localtime() and gmtime() in order to allow Perl to work around a system's 2038 limit. There is now a bleadperl branch for the 2038 fix.

The y2038 project is funded in part by a grant from The Perl Foundation.

What works?The following functions are implemented and well tested.

localtime64_r() localtime64() gmtime64_r() gmtime64() timegm64() mktime64() asctime64_r() asctime64() ctime64_r() ctime64() What platforms?This complies with the POSIX standard for time.h and will work with any decent ANSI C89 compiler.

Want to help?Please send a message to y2038-users, or do a code review, or post an issue, or try out the code on your machine and let us know how it works out.

Share

In a Nutshell, y2038...

Languages

C
82%
Perl
14%
Make
4%
 
 

Lines of Code

 

Activity

30 Day Summary Apr 13 2013 — May 13 2013

12 Month Summary May 13 2012 — May 13 2013

Community

Ratings

Be the first to rate this project
 
Click to add your rating
 
Review this Project!
 
 
 

Creative Commons License Copyright © 2013 Black Duck Software, Inc. and its contributors, Some Rights Reserved. Unless otherwise marked, this work is licensed under a Creative Commons Attribution 3.0 Unported License . Ohloh ® and the Ohloh logo are trademarks of Black Duck Software, Inc. in the United States and/or other jurisdictions. All other trademarks are the property of their respective holders.