]> granicus.if.org Git - python/commitdiff
time: fix gcc warning
authorVictor Stinner <victor.stinner@haypocalc.com>
Thu, 7 Oct 2010 01:00:52 +0000 (01:00 +0000)
committerVictor Stinner <victor.stinner@haypocalc.com>
Thu, 7 Oct 2010 01:00:52 +0000 (01:00 +0000)
 * Create format_arg variable to use the right types
 * Strip trailing spaces

Modules/timemodule.c

index cbb05cdddca1177b8ef5f5aba8651b25532a97a8..1a856627db92f1fb84fa1ae08ec792ac19f72967 100644 (file)
@@ -384,31 +384,31 @@ gettmarg(PyObject *args, struct tm *p)
  * asctime().  Return 1 if all values are valid, otherwise set an exception
  * and returns 0.
  */
-static int 
-checktm(struct tm* buf) 
+static int
+checktm(struct tm* buf)
 {
-    /* Checks added to make sure strftime() and asctime() does not crash Python by    
-       indexing blindly into some array for a textual representation                  
-       by some bad index (fixes bug #897625 and #6608).                               
-                                                                                      
-       Also support values of zero from Python code for arguments in which            
-       that is out of range by forcing that value to the lowest value that            
-       is valid (fixed bug #1520914).                                                 
-                                                                                      
-       Valid ranges based on what is allowed in struct tm:                            
-                                                                                      
-       - tm_year: [0, max(int)] (1)                                                   
-       - tm_mon: [0, 11] (2)                                                          
-       - tm_mday: [1, 31]                                                             
-       - tm_hour: [0, 23]                                                             
-       - tm_min: [0, 59]                                                              
-       - tm_sec: [0, 60]                                                              
-       - tm_wday: [0, 6] (1)                                                          
-       - tm_yday: [0, 365] (2)                                                        
-       - tm_isdst: [-max(int), max(int)]                                              
-                                                                                      
-       (1) gettmarg() handles bounds-checking.                                        
-       (2) Python's acceptable range is one greater than the range in C,              
+    /* Checks added to make sure strftime() and asctime() does not crash Python by
+       indexing blindly into some array for a textual representation
+       by some bad index (fixes bug #897625 and #6608).
+
+       Also support values of zero from Python code for arguments in which
+       that is out of range by forcing that value to the lowest value that
+       is valid (fixed bug #1520914).
+
+       Valid ranges based on what is allowed in struct tm:
+
+       - tm_year: [0, max(int)] (1)
+       - tm_mon: [0, 11] (2)
+       - tm_mday: [1, 31]
+       - tm_hour: [0, 23]
+       - tm_min: [0, 59]
+       - tm_sec: [0, 60]
+       - tm_wday: [0, 6] (1)
+       - tm_yday: [0, 365] (2)
+       - tm_isdst: [-max(int), max(int)]
+
+       (1) gettmarg() handles bounds-checking.
+       (2) Python's acceptable range is one greater than the range in C,
        thus need to check against automatic decrement by gettmarg().
     */
     if (buf->tm_mon == -1)
@@ -472,6 +472,7 @@ time_strftime(PyObject *self, PyObject *args)
 #else
     PyObject *format;
 #endif
+    PyObject *format_arg;
     size_t fmtlen, buflen;
     time_char *outbuf = NULL;
     size_t i;
@@ -482,7 +483,7 @@ time_strftime(PyObject *self, PyObject *args)
     /* Will always expect a unicode string to be passed as format.
        Given that there's no str type anymore in py3k this seems safe.
     */
-    if (!PyArg_ParseTuple(args, "U|O:strftime", &format, &tup))
+    if (!PyArg_ParseTuple(args, "U|O:strftime", &format_arg, &tup))
         return NULL;
 
     if (tup == NULL) {
@@ -501,13 +502,13 @@ time_strftime(PyObject *self, PyObject *args)
         buf.tm_isdst = 1;
 
 #ifdef HAVE_WCSFTIME
-    format = PyUnicode_AsWideCharString((PyUnicodeObject*)format, NULL);
+    format = PyUnicode_AsWideCharString((PyUnicodeObject*)format_arg, NULL);
     if (format == NULL)
         return NULL;
     fmt = format;
 #else
     /* Convert the unicode string to an ascii one */
-    format = PyUnicode_AsEncodedString(format, TZNAME_ENCODING, NULL);
+    format = PyUnicode_AsEncodedString(format_arg, TZNAME_ENCODING, NULL);
     if (format == NULL)
         return NULL;
     fmt = PyBytes_AS_STRING(format);