]> granicus.if.org Git - postgresql/commitdiff
Backpatch to 8.1.X fix for to_timestamp() where "PM/AM" specification
authorBruce Momjian <bruce@momjian.us>
Mon, 4 Sep 2006 19:29:18 +0000 (19:29 +0000)
committerBruce Momjian <bruce@momjian.us>
Mon, 4 Sep 2006 19:29:18 +0000 (19:29 +0000)
was eating too much user input, producing incorrect results.

src/backend/utils/adt/formatting.c

index 96b99730dd86b35b5194365632058da9ad47ac32..6f616eafb942609d1f1686d880fc65b5f14cce06 100644 (file)
@@ -1,7 +1,7 @@
 /* -----------------------------------------------------------------------
  * formatting.c
  *
- * $PostgreSQL: pgsql/src/backend/utils/adt/formatting.c,v 1.101.2.2 2005/12/03 16:45:23 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/adt/formatting.c,v 1.101.2.3 2006/09/04 19:29:18 momjian Exp $
  *
  *
  *      Portions Copyright (c) 1999-2005, PostgreSQL Global Development Group
@@ -1740,7 +1740,7 @@ dch_time(int arg, char *inout, int suf, bool is_to_char, bool is_interval,
                                        tmfc->am = TRUE;
                                else
                                        AMPM_ERROR;
-                               return strlen(p_inout);
+                               return strlen(P_M_STR);
                        }
                        break;
                case DCH_AM:
@@ -1759,7 +1759,7 @@ dch_time(int arg, char *inout, int suf, bool is_to_char, bool is_interval,
                                        tmfc->am = TRUE;
                                else
                                        AMPM_ERROR;
-                               return strlen(p_inout);
+                               return strlen(PM_STR);
                        }
                        break;
                case DCH_a_m:
@@ -1778,7 +1778,7 @@ dch_time(int arg, char *inout, int suf, bool is_to_char, bool is_interval,
                                        tmfc->am = TRUE;
                                else
                                        AMPM_ERROR;
-                               return strlen(p_inout);
+                               return strlen(p_m_STR);
                        }
                        break;
                case DCH_am:
@@ -1797,7 +1797,7 @@ dch_time(int arg, char *inout, int suf, bool is_to_char, bool is_interval,
                                        tmfc->am = TRUE;
                                else
                                        AMPM_ERROR;
-                               return strlen(p_inout);
+                               return strlen(pm_STR);
                        }
                        break;
                case DCH_HH: