r22623 - gnucash/trunk/src/backend - Convert all time_t to time64: backend

John Ralls jralls at code.gnucash.org
Sat Dec 1 17:45:13 EST 2012


Author: jralls
Date: 2012-12-01 17:45:13 -0500 (Sat, 01 Dec 2012)
New Revision: 22623
Trac: http://svn.gnucash.org/trac/changeset/22623

Modified:
   gnucash/trunk/src/backend/dbi/gnc-backend-dbi.c
   gnucash/trunk/src/backend/sql/gnc-backend-sql.c
   gnucash/trunk/src/backend/sql/test/utest-gnc-backend-sql.c
   gnucash/trunk/src/backend/xml/gnc-backend-xml.c
   gnucash/trunk/src/backend/xml/sixtp-utils.c
Log:
Convert all time_t to time64: backend

Modified: gnucash/trunk/src/backend/dbi/gnc-backend-dbi.c
===================================================================
--- gnucash/trunk/src/backend/dbi/gnc-backend-dbi.c	2012-12-01 22:45:03 UTC (rev 22622)
+++ gnucash/trunk/src/backend/dbi/gnc-backend-dbi.c	2012-12-01 22:45:13 UTC (rev 22623)
@@ -2009,8 +2009,7 @@
     gushort type;
     guint attrs;
     GValue* value;
-    time_t time;
-    struct tm tm_struct;
+    time64 time;
 
     type = dbi_result_get_field_type( dbi_row->result, col_name );
     attrs = dbi_result_get_field_attribs( dbi_row->result, col_name );
@@ -2056,20 +2055,21 @@
 	   creates a string that GDate can't parse. */
 	if (time >= 0)
 	  {
-            (void)gmtime_r( &time, &tm_struct );
-            (void)g_value_init( value, G_TYPE_STRING );
-            g_value_take_string( value,
-                                 g_strdup_printf( "%d%02d%02d%02d%02d%02d",
-                                                  1900 + tm_struct.tm_year,
-						  tm_struct.tm_mon + 1,
-						  tm_struct.tm_mday,
-                                                  tm_struct.tm_hour,
-						  tm_struct.tm_min,
-						  tm_struct.tm_sec ) );
+            struct tm *tm_struct = gnc_gmtime (&time);
+            (void)g_value_init (value, G_TYPE_STRING);
+            g_value_take_string (value,
+                                 g_strdup_printf ("%d%02d%02d%02d%02d%02d",
+                                                  1900 + tm_struct->tm_year,
+						  tm_struct->tm_mon + 1,
+						  tm_struct->tm_mday,
+                                                  tm_struct->tm_hour,
+						  tm_struct->tm_min,
+						  tm_struct->tm_sec));
+	    gnc_tm_free (tm_struct);
 	  }
 	else
 	  g_value_take_string (value, "19691231235959");
-        
+
         break;
     default:
         PERR( "Field %s: unknown DBI_TYPE: %d\n", col_name, type );

Modified: gnucash/trunk/src/backend/sql/gnc-backend-sql.c
===================================================================
--- gnucash/trunk/src/backend/sql/gnc-backend-sql.c	2012-12-01 22:45:03 UTC (rev 22622)
+++ gnucash/trunk/src/backend/sql/gnc-backend-sql.c	2012-12-01 22:45:13 UTC (rev 22623)
@@ -1900,19 +1900,19 @@
 gchar*
 gnc_sql_convert_timespec_to_string( const GncSqlBackend* be, Timespec ts )
 {
-    time_t time;
+    time64 time;
     struct tm* tm;
     gint year;
     gchar* datebuf;
 
-    time = timespecToTime_t( ts );
-    tm = gmtime( &time );
+    time = timespecToTime64( ts );
+    tm = gnc_gmtime( &time );
 
-    if ( tm->tm_year < 60 ) year = tm->tm_year + 2000;
-    else year = tm->tm_year + 1900;
+    year = tm->tm_year + 1900;
 
     datebuf = g_strdup_printf( be->timespec_format,
                                year, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec );
+    gnc_tm_free (tm);
     return datebuf;
 }
 

Modified: gnucash/trunk/src/backend/sql/test/utest-gnc-backend-sql.c
===================================================================
--- gnucash/trunk/src/backend/sql/test/utest-gnc-backend-sql.c	2012-12-01 22:45:03 UTC (rev 22622)
+++ gnucash/trunk/src/backend/sql/test/utest-gnc-backend-sql.c	2012-12-01 22:45:13 UTC (rev 22623)
@@ -633,13 +633,7 @@
 
 	Timespec *ts = gnc_date_string_to_timespec_gmt (date[i]);
 	gchar *datestr = gnc_sql_convert_timespec_to_string (&be, *ts);
-	if (i < 3)
-	    g_assert_cmpstr (date[i], ==, datestr);
-/* Dates before 1960 fail regardless of time_t */
-	else if (sizeof (time_t) > 4 && i > 3)
-	    g_assert_cmpstr (date[i], ==, datestr);
-	else
-	    g_assert_cmpstr (date[i], !=, datestr);
+	g_assert_cmpstr (date[i], ==, datestr);
 
 	g_free (datestr);
 	g_slice_free (Timespec, ts);

Modified: gnucash/trunk/src/backend/xml/gnc-backend-xml.c
===================================================================
--- gnucash/trunk/src/backend/xml/gnc-backend-xml.c	2012-12-01 22:45:03 UTC (rev 22622)
+++ gnucash/trunk/src/backend/xml/gnc-backend-xml.c	2012-12-01 22:45:13 UTC (rev 22623)
@@ -857,7 +857,7 @@
     const gchar *dent;
     GDir *dir;
     struct stat lockstatbuf, statbuf;
-    time_t now;
+    time64 now;
 
     if (g_stat (be->lockfile, &lockstatbuf) != 0)
         return;
@@ -866,7 +866,7 @@
     if (!dir)
         return;
 
-    now = time(NULL);
+    now = gnc_time(NULL);
     while ((dent = g_dir_read_name(dir)) != NULL)
     {
         gchar *name;

Modified: gnucash/trunk/src/backend/xml/sixtp-utils.c
===================================================================
--- gnucash/trunk/src/backend/xml/sixtp-utils.c	2012-12-01 22:45:03 UTC (rev 22622)
+++ gnucash/trunk/src/backend/xml/sixtp-utils.c	2012-12-01 22:45:13 UTC (rev 22623)
@@ -412,7 +412,7 @@
 
     struct tm parsed_time;
     const gchar *strpos;
-    time_t parsed_secs;
+    time64 parsed_secs;
     long int gmtoff;
 
     if (!str || !ts) return FALSE;
@@ -458,8 +458,6 @@
 
     parsed_secs = gnc_timegm(&parsed_time);
 
-    if (parsed_secs == (time_t) - 1) return(FALSE);
-
     parsed_secs -= gmtoff;
 
     ts->tv_sec = parsed_secs;



More information about the gnucash-changes mailing list