]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/date.cpp
wxMotif Solaris 2.6 compilation fixes
[wxWidgets.git] / src / common / date.cpp
index 7ac9ec8641c54806b6b9aaa5416fa248ea2f9ecf..2b248eab657d52d41095120fabb7221c2115f5a2 100644 (file)
 
 #include "wx/setup.h"
 
-#if USE_TIMEDATE
+#if wxUSE_TIMEDATE
 
 #include "wx/date.h"
+#include <wx/intl.h>
 
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 
-#if USE_IOSTREAMH
+#if wxUSE_IOSTREAMH
 #include <iostream.h>
 #else
 #include <iostream>
 
 #define ABBR_LENGTH 3
 
-static const char *dayname[] = {"Sunday","Monday","Tuesday","Wednesday",
-          "Thursday","Friday","Saturday"} ;
+static const char *dayname[] = {
+  "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
+};
 
-static const char *mname[] = {"January","February","March","April","May",
-          "June","July","August","September","October","November","December"};
+static const char *mname[] = {
+  "January", "February", "March", "April", "May", "June", "July", "August",
+  "September", "October", "November", "December"
+};
 
 static int GauDays[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
 
@@ -101,8 +105,8 @@ wxDate::wxDate (const wxString& dat)
 
     char *token = strtok(buf,"/-");
     month = atoi(token);
-    day   = atoi(strtok(NULL,"/-"));
-    year  = atoi(strtok(NULL," "));
+    day   = atoi(strtok((char *) NULL,"/-"));
+    year  = atoi(strtok((char *) NULL," "));
   }
 
   mdy_to_julian ();
@@ -144,8 +148,8 @@ void wxDate::operator = (const wxString& dat)
 
     char *token = strtok(buf,"/-");
     month = atoi(token);
-    day   = atoi(strtok(NULL,"/-"));
-    year  = atoi(strtok(NULL," "));
+    day   = atoi(strtok((char *) NULL,"/-"));
+    year  = atoi(strtok((char *) NULL," "));
   }
 
   mdy_to_julian ();
@@ -155,10 +159,12 @@ void wxDate::operator = (const wxString& dat)
 // Conversion operations
 //////////////////////////////////////////////////////////////
 
+#ifndef __SALFORDC__
 wxDate::operator wxString( void )
 {
   return FormatDate();
 }
+#endif
 
 //////////////////////////////////////////////////////////////
 // Date Arithmetic
@@ -239,32 +245,32 @@ wxDate &wxDate::operator --(int)
 // Date comparison
 //////////////////////////////////////////////////////////////
 
-bool operator <  (const wxDate &dt1, const wxDate &dt2)
+bool WXDLLEXPORT operator <  (const wxDate &dt1, const wxDate &dt2)
 {
        return ( dt1.julian < dt2.julian );
 }
 
-bool operator <= (const wxDate &dt1, const wxDate &dt2)
+bool WXDLLEXPORT operator <= (const wxDate &dt1, const wxDate &dt2)
 {
        return ( (dt1.julian == dt2.julian) || (dt1.julian < dt2.julian) );
 }
 
-bool operator >  (const wxDate &dt1, const wxDate &dt2)
+bool WXDLLEXPORT operator >  (const wxDate &dt1, const wxDate &dt2)
 {
        return ( dt1.julian > dt2.julian );
 }
 
-bool operator >= (const wxDate &dt1, const wxDate &dt2)
+bool WXDLLEXPORT operator >= (const wxDate &dt1, const wxDate &dt2)
 {
        return ( (dt1.julian == dt2.julian) || (dt1.julian > dt2.julian) );
 }
 
-bool operator == (const wxDate &dt1, const wxDate &dt2)
+bool WXDLLEXPORT operator == (const wxDate &dt1, const wxDate &dt2)
 {
        return ( dt1.julian == dt2.julian );
 }
 
-bool operator != (const wxDate &dt1, const wxDate &dt2)
+bool WXDLLEXPORT operator != (const wxDate &dt1, const wxDate &dt2)
 {
        return ( dt1.julian != dt2.julian );
 }
@@ -273,7 +279,7 @@ bool operator != (const wxDate &dt1, const wxDate &dt2)
 // Ostream operations
 ////////////////////////////////////////////////////////////////
 
-ostream &operator << (ostream &os, const wxDate &dt)
+ostream WXDLLEXPORT & operator << (ostream &os, const wxDate &dt)
 {
        return os << (const char *) dt.FormatDate();
 }
@@ -346,17 +352,17 @@ wxString wxDate::FormatDate (int type) const
        {
                case wxDAY:
                        if ( (day_of_week < 1) || (day_of_week > 7) )
-                               strcpy(buf,"invalid day");
+                               strcpy(buf, _("invalid day"));
                        else
-                               strncpy( buf, dayname[day_of_week-1],
+                               strncpy( buf, _(dayname[day_of_week-1]),
                                        (DisplayOptions & wxDATE_ABBR) ? ABBR_LENGTH : 9);
                        return wxString(buf);
 
                case wxMONTH:
                        if ( (month < 1) || (month > 12) )
-                               strcpy(buf,"invalid month");
+                               strcpy(buf, _("invalid month"));
                        else
-                               strncpy( buf, mname[month-1],
+                               strncpy( buf, _(mname[month-1]),
                                        (DisplayOptions & wxDATE_ABBR) ? ABBR_LENGTH : 9);
                        return wxString(buf);
 
@@ -364,39 +370,39 @@ wxString wxDate::FormatDate (int type) const
                        if ( (month < 1) || (month > 12) || (day_of_week < 0) ||
                                 (day_of_week > 7) )
                        {
-                               strcpy(buf,"invalid date");
+                               strcpy(buf, _("invalid date"));
                                return wxString(buf);
                        }
-                       strncpy( buf, dayname[day_of_week-1],
+                       strncpy( buf, _(dayname[day_of_week-1]),
                                (DisplayOptions & wxDATE_ABBR) ? ABBR_LENGTH : 9);
                        strcat( buf, ", ");
-                       strncat( buf, mname[month-1],
+                       strncat( buf, _(mname[month-1]),
                                (DisplayOptions & wxDATE_ABBR) ? ABBR_LENGTH : 9);
                        strcat( buf, " ");
                        sprintf( buf+strlen(buf), "%d, %d", day, abs(year) );
                        if (year < 0)
-                               strcat(buf," B.C.");
+                               strcat(buf,_(" B.C."));
                        return wxString(buf);
 
                case wxEUROPEAN:
                        if ( (month < 1) || (month > 12) || (day_of_week < 0) ||
                                 (day_of_week > 7) )
                        {
-                               strcpy(buf,"invalid date");
+                               strcpy(buf, _("invalid date"));
                                return wxString(buf);
                        }
                        sprintf(buf,"%d ",      day);
-                       strncat(buf, mname[month-1],
+                       strncat(buf, _(mname[month-1]),
                                (DisplayOptions & wxDATE_ABBR) ? ABBR_LENGTH : 9);
                        sprintf( buf+strlen(buf), " %d", abs(year) );
                        if (year < 0)
-                               strcat(buf," B.C.");
+                               strcat(buf, _(" B.C."));
                        return wxString(buf);
 
                case wxMDY:
                default:
                        if (day==0 || month==0 || year==0)
-                               strcpy(buf,"invalid date");
+                               strcpy(buf, _("invalid date"));
                        else
                                sprintf( buf+strlen(buf), "%1d/%1d/%02d", month, day,
                                        (DisplayOptions & wxNO_CENTURY) && (abs(year) > 1899)
@@ -466,7 +472,7 @@ bool wxDate::IsLeapYear( void ) const
 
 wxDate& wxDate::Set()
 {
-//#ifdef __WINDOWS__
+//#ifdef __WXMSW__
 #if 0
     struct _dosdate_t sDate;
     _dos_getdate(&sDate);
@@ -477,7 +483,7 @@ wxDate& wxDate::Set()
 
     mdy_to_julian();
 #else
-    time_t now = time(NULL);
+    time_t now = time((time_t *) NULL);
     struct tm *localTime = localtime(&now);
 
     month = localTime->tm_mon + 1;