diff options
author | Bruce Momjian <bruce@momjian.us> | 2009-06-11 14:49:15 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2009-06-11 14:49:15 +0000 |
commit | d7471402794266078953f1bd113dab4913d631a1 (patch) | |
tree | 618e392a84eaf837e00bf78f8694097b78fec227 /src/backend/utils/adt/formatting.c | |
parent | 4e86efb4e51b66ef57b3fe6f28576de23a1bf1c6 (diff) | |
download | postgresql-d7471402794266078953f1bd113dab4913d631a1.tar.gz postgresql-d7471402794266078953f1bd113dab4913d631a1.zip |
8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list
provided by Andrew.
Diffstat (limited to 'src/backend/utils/adt/formatting.c')
-rw-r--r-- | src/backend/utils/adt/formatting.c | 255 |
1 files changed, 129 insertions, 126 deletions
diff --git a/src/backend/utils/adt/formatting.c b/src/backend/utils/adt/formatting.c index 3498e2c503f..064993bd87b 100644 --- a/src/backend/utils/adt/formatting.c +++ b/src/backend/utils/adt/formatting.c @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------- * formatting.c * - * $PostgreSQL: pgsql/src/backend/utils/adt/formatting.c,v 1.156 2009/03/15 20:31:19 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/formatting.c,v 1.157 2009/06/11 14:49:03 momjian Exp $ * * * Portions Copyright (c) 1999-2009, PostgreSQL Global Development Group @@ -148,9 +148,9 @@ typedef struct */ typedef enum { - FROM_CHAR_DATE_NONE = 0, /* Value does not affect date mode. */ - FROM_CHAR_DATE_GREGORIAN, /* Gregorian (day, month, year) style date */ - FROM_CHAR_DATE_ISOWEEK /* ISO 8601 week date */ + FROM_CHAR_DATE_NONE = 0, /* Value does not affect date mode. */ + FROM_CHAR_DATE_GREGORIAN, /* Gregorian (day, month, year) style date */ + FROM_CHAR_DATE_ISOWEEK /* ISO 8601 week date */ } FromCharDateMode; typedef struct FormatNode FormatNode; @@ -286,9 +286,9 @@ static char *numth[] = {"st", "nd", "rd", "th", NULL}; * Flags & Options: * ---------- */ -#define ONE_UPPER 1 /* Name */ -#define ALL_UPPER 2 /* NAME */ -#define ALL_LOWER 3 /* name */ +#define ONE_UPPER 1 /* Name */ +#define ALL_UPPER 2 /* NAME */ +#define ALL_LOWER 3 /* name */ #define FULL_SIZ 0 @@ -421,8 +421,8 @@ typedef struct cc, j, us, - yysz, /* is it YY or YYYY ? */ - clock; /* 12 or 24 hour clock? */ + yysz, /* is it YY or YYYY ? */ + clock; /* 12 or 24 hour clock? */ } TmFromChar; #define ZERO_tmfc(_X) memset(_X, 0, sizeof(TmFromChar)) @@ -709,94 +709,94 @@ typedef enum */ static const KeyWord DCH_keywords[] = { /* name, len, id, is_digit, date_mode */ - {"A.D.", 4, DCH_A_D, FALSE, FROM_CHAR_DATE_NONE}, /* A */ + {"A.D.", 4, DCH_A_D, FALSE, FROM_CHAR_DATE_NONE}, /* A */ {"A.M.", 4, DCH_A_M, FALSE, FROM_CHAR_DATE_NONE}, {"AD", 2, DCH_AD, FALSE, FROM_CHAR_DATE_NONE}, {"AM", 2, DCH_AM, FALSE, FROM_CHAR_DATE_NONE}, - {"B.C.", 4, DCH_B_C, FALSE, FROM_CHAR_DATE_NONE}, /* B */ + {"B.C.", 4, DCH_B_C, FALSE, FROM_CHAR_DATE_NONE}, /* B */ {"BC", 2, DCH_BC, FALSE, FROM_CHAR_DATE_NONE}, - {"CC", 2, DCH_CC, TRUE, FROM_CHAR_DATE_NONE}, /* C */ - {"DAY", 3, DCH_DAY, FALSE, FROM_CHAR_DATE_NONE}, /* D */ + {"CC", 2, DCH_CC, TRUE, FROM_CHAR_DATE_NONE}, /* C */ + {"DAY", 3, DCH_DAY, FALSE, FROM_CHAR_DATE_NONE}, /* D */ {"DDD", 3, DCH_DDD, TRUE, FROM_CHAR_DATE_GREGORIAN}, {"DD", 2, DCH_DD, TRUE, FROM_CHAR_DATE_GREGORIAN}, {"DY", 2, DCH_DY, FALSE, FROM_CHAR_DATE_NONE}, {"Day", 3, DCH_Day, FALSE, FROM_CHAR_DATE_NONE}, {"Dy", 2, DCH_Dy, FALSE, FROM_CHAR_DATE_NONE}, {"D", 1, DCH_D, TRUE, FROM_CHAR_DATE_GREGORIAN}, - {"FX", 2, DCH_FX, FALSE, FROM_CHAR_DATE_NONE}, /* F */ - {"HH24", 4, DCH_HH24, TRUE, FROM_CHAR_DATE_NONE}, /* H */ + {"FX", 2, DCH_FX, FALSE, FROM_CHAR_DATE_NONE}, /* F */ + {"HH24", 4, DCH_HH24, TRUE, FROM_CHAR_DATE_NONE}, /* H */ {"HH12", 4, DCH_HH12, TRUE, FROM_CHAR_DATE_NONE}, {"HH", 2, DCH_HH, TRUE, FROM_CHAR_DATE_NONE}, - {"IDDD", 4, DCH_IDDD, TRUE, FROM_CHAR_DATE_ISOWEEK}, /* I */ + {"IDDD", 4, DCH_IDDD, TRUE, FROM_CHAR_DATE_ISOWEEK}, /* I */ {"ID", 2, DCH_ID, TRUE, FROM_CHAR_DATE_ISOWEEK}, {"IW", 2, DCH_IW, TRUE, FROM_CHAR_DATE_ISOWEEK}, {"IYYY", 4, DCH_IYYY, TRUE, FROM_CHAR_DATE_ISOWEEK}, {"IYY", 3, DCH_IYY, TRUE, FROM_CHAR_DATE_ISOWEEK}, {"IY", 2, DCH_IY, TRUE, FROM_CHAR_DATE_ISOWEEK}, {"I", 1, DCH_I, TRUE, FROM_CHAR_DATE_ISOWEEK}, - {"J", 1, DCH_J, TRUE, FROM_CHAR_DATE_NONE}, /* J */ - {"MI", 2, DCH_MI, TRUE, FROM_CHAR_DATE_NONE}, /* M */ + {"J", 1, DCH_J, TRUE, FROM_CHAR_DATE_NONE}, /* J */ + {"MI", 2, DCH_MI, TRUE, FROM_CHAR_DATE_NONE}, /* M */ {"MM", 2, DCH_MM, TRUE, FROM_CHAR_DATE_GREGORIAN}, {"MONTH", 5, DCH_MONTH, FALSE, FROM_CHAR_DATE_GREGORIAN}, {"MON", 3, DCH_MON, FALSE, FROM_CHAR_DATE_GREGORIAN}, {"MS", 2, DCH_MS, TRUE, FROM_CHAR_DATE_NONE}, {"Month", 5, DCH_Month, FALSE, FROM_CHAR_DATE_GREGORIAN}, {"Mon", 3, DCH_Mon, FALSE, FROM_CHAR_DATE_GREGORIAN}, - {"P.M.", 4, DCH_P_M, FALSE, FROM_CHAR_DATE_NONE}, /* P */ + {"P.M.", 4, DCH_P_M, FALSE, FROM_CHAR_DATE_NONE}, /* P */ {"PM", 2, DCH_PM, FALSE, FROM_CHAR_DATE_NONE}, - {"Q", 1, DCH_Q, TRUE, FROM_CHAR_DATE_NONE}, /* Q */ - {"RM", 2, DCH_RM, FALSE, FROM_CHAR_DATE_GREGORIAN}, /* R */ - {"SSSS", 4, DCH_SSSS, TRUE, FROM_CHAR_DATE_NONE}, /* S */ + {"Q", 1, DCH_Q, TRUE, FROM_CHAR_DATE_NONE}, /* Q */ + {"RM", 2, DCH_RM, FALSE, FROM_CHAR_DATE_GREGORIAN}, /* R */ + {"SSSS", 4, DCH_SSSS, TRUE, FROM_CHAR_DATE_NONE}, /* S */ {"SS", 2, DCH_SS, TRUE, FROM_CHAR_DATE_NONE}, - {"TZ", 2, DCH_TZ, FALSE, FROM_CHAR_DATE_NONE}, /* T */ - {"US", 2, DCH_US, TRUE, FROM_CHAR_DATE_NONE}, /* U */ - {"WW", 2, DCH_WW, TRUE, FROM_CHAR_DATE_GREGORIAN}, /* W */ + {"TZ", 2, DCH_TZ, FALSE, FROM_CHAR_DATE_NONE}, /* T */ + {"US", 2, DCH_US, TRUE, FROM_CHAR_DATE_NONE}, /* U */ + {"WW", 2, DCH_WW, TRUE, FROM_CHAR_DATE_GREGORIAN}, /* W */ {"W", 1, DCH_W, TRUE, FROM_CHAR_DATE_GREGORIAN}, - {"Y,YYY", 5, DCH_Y_YYY, TRUE, FROM_CHAR_DATE_GREGORIAN},/* Y */ + {"Y,YYY", 5, DCH_Y_YYY, TRUE, FROM_CHAR_DATE_GREGORIAN}, /* Y */ {"YYYY", 4, DCH_YYYY, TRUE, FROM_CHAR_DATE_GREGORIAN}, {"YYY", 3, DCH_YYY, TRUE, FROM_CHAR_DATE_GREGORIAN}, {"YY", 2, DCH_YY, TRUE, FROM_CHAR_DATE_GREGORIAN}, {"Y", 1, DCH_Y, TRUE, FROM_CHAR_DATE_GREGORIAN}, - {"a.d.", 4, DCH_a_d, FALSE, FROM_CHAR_DATE_NONE}, /* a */ + {"a.d.", 4, DCH_a_d, FALSE, FROM_CHAR_DATE_NONE}, /* a */ {"a.m.", 4, DCH_a_m, FALSE, FROM_CHAR_DATE_NONE}, {"ad", 2, DCH_ad, FALSE, FROM_CHAR_DATE_NONE}, {"am", 2, DCH_am, FALSE, FROM_CHAR_DATE_NONE}, - {"b.c.", 4, DCH_b_c, FALSE, FROM_CHAR_DATE_NONE}, /* b */ + {"b.c.", 4, DCH_b_c, FALSE, FROM_CHAR_DATE_NONE}, /* b */ {"bc", 2, DCH_bc, FALSE, FROM_CHAR_DATE_NONE}, - {"cc", 2, DCH_CC, TRUE, FROM_CHAR_DATE_NONE}, /* c */ - {"day", 3, DCH_day, FALSE, FROM_CHAR_DATE_NONE}, /* d */ + {"cc", 2, DCH_CC, TRUE, FROM_CHAR_DATE_NONE}, /* c */ + {"day", 3, DCH_day, FALSE, FROM_CHAR_DATE_NONE}, /* d */ {"ddd", 3, DCH_DDD, TRUE, FROM_CHAR_DATE_GREGORIAN}, {"dd", 2, DCH_DD, TRUE, FROM_CHAR_DATE_GREGORIAN}, {"dy", 2, DCH_dy, FALSE, FROM_CHAR_DATE_NONE}, {"d", 1, DCH_D, TRUE, FROM_CHAR_DATE_GREGORIAN}, - {"fx", 2, DCH_FX, FALSE, FROM_CHAR_DATE_NONE}, /* f */ - {"hh24", 4, DCH_HH24, TRUE, FROM_CHAR_DATE_NONE}, /* h */ + {"fx", 2, DCH_FX, FALSE, FROM_CHAR_DATE_NONE}, /* f */ + {"hh24", 4, DCH_HH24, TRUE, FROM_CHAR_DATE_NONE}, /* h */ {"hh12", 4, DCH_HH12, TRUE, FROM_CHAR_DATE_NONE}, {"hh", 2, DCH_HH, TRUE, FROM_CHAR_DATE_NONE}, - {"iddd", 4, DCH_IDDD, TRUE, FROM_CHAR_DATE_ISOWEEK}, /* i */ + {"iddd", 4, DCH_IDDD, TRUE, FROM_CHAR_DATE_ISOWEEK}, /* i */ {"id", 2, DCH_ID, TRUE, FROM_CHAR_DATE_ISOWEEK}, {"iw", 2, DCH_IW, TRUE, FROM_CHAR_DATE_ISOWEEK}, {"iyyy", 4, DCH_IYYY, TRUE, FROM_CHAR_DATE_ISOWEEK}, {"iyy", 3, DCH_IYY, TRUE, FROM_CHAR_DATE_ISOWEEK}, {"iy", 2, DCH_IY, TRUE, FROM_CHAR_DATE_ISOWEEK}, {"i", 1, DCH_I, TRUE, FROM_CHAR_DATE_ISOWEEK}, - {"j", 1, DCH_J, TRUE, FROM_CHAR_DATE_NONE}, /* j */ - {"mi", 2, DCH_MI, TRUE, FROM_CHAR_DATE_NONE}, /* m */ + {"j", 1, DCH_J, TRUE, FROM_CHAR_DATE_NONE}, /* j */ + {"mi", 2, DCH_MI, TRUE, FROM_CHAR_DATE_NONE}, /* m */ {"mm", 2, DCH_MM, TRUE, FROM_CHAR_DATE_GREGORIAN}, {"month", 5, DCH_month, FALSE, FROM_CHAR_DATE_GREGORIAN}, {"mon", 3, DCH_mon, FALSE, FROM_CHAR_DATE_GREGORIAN}, {"ms", 2, DCH_MS, TRUE, FROM_CHAR_DATE_NONE}, - {"p.m.", 4, DCH_p_m, FALSE, FROM_CHAR_DATE_NONE}, /* p */ + {"p.m.", 4, DCH_p_m, FALSE, FROM_CHAR_DATE_NONE}, /* p */ {"pm", 2, DCH_pm, FALSE, FROM_CHAR_DATE_NONE}, - {"q", 1, DCH_Q, TRUE, FROM_CHAR_DATE_NONE}, /* q */ - {"rm", 2, DCH_rm, FALSE, FROM_CHAR_DATE_GREGORIAN}, /* r */ - {"ssss", 4, DCH_SSSS, TRUE, FROM_CHAR_DATE_NONE}, /* s */ + {"q", 1, DCH_Q, TRUE, FROM_CHAR_DATE_NONE}, /* q */ + {"rm", 2, DCH_rm, FALSE, FROM_CHAR_DATE_GREGORIAN}, /* r */ + {"ssss", 4, DCH_SSSS, TRUE, FROM_CHAR_DATE_NONE}, /* s */ {"ss", 2, DCH_SS, TRUE, FROM_CHAR_DATE_NONE}, - {"tz", 2, DCH_tz, FALSE, FROM_CHAR_DATE_NONE}, /* t */ - {"us", 2, DCH_US, TRUE, FROM_CHAR_DATE_NONE}, /* u */ - {"ww", 2, DCH_WW, TRUE, FROM_CHAR_DATE_GREGORIAN}, /* w */ + {"tz", 2, DCH_tz, FALSE, FROM_CHAR_DATE_NONE}, /* t */ + {"us", 2, DCH_US, TRUE, FROM_CHAR_DATE_NONE}, /* u */ + {"ww", 2, DCH_WW, TRUE, FROM_CHAR_DATE_GREGORIAN}, /* w */ {"w", 1, DCH_W, TRUE, FROM_CHAR_DATE_GREGORIAN}, - {"y,yyy", 5, DCH_Y_YYY, TRUE, FROM_CHAR_DATE_GREGORIAN},/* y */ + {"y,yyy", 5, DCH_Y_YYY, TRUE, FROM_CHAR_DATE_GREGORIAN}, /* y */ {"yyyy", 4, DCH_YYYY, TRUE, FROM_CHAR_DATE_GREGORIAN}, {"yyy", 3, DCH_YYY, TRUE, FROM_CHAR_DATE_GREGORIAN}, {"yy", 2, DCH_YY, TRUE, FROM_CHAR_DATE_GREGORIAN}, @@ -814,42 +814,42 @@ static const KeyWord DCH_keywords[] = { */ static const KeyWord NUM_keywords[] = { /* name, len, id is in Index */ - {",", 1, NUM_COMMA}, /* , */ - {".", 1, NUM_DEC}, /* . */ - {"0", 1, NUM_0}, /* 0 */ - {"9", 1, NUM_9}, /* 9 */ - {"B", 1, NUM_B}, /* B */ - {"C", 1, NUM_C}, /* C */ - {"D", 1, NUM_D}, /* D */ - {"E", 1, NUM_E}, /* E */ - {"FM", 2, NUM_FM}, /* F */ - {"G", 1, NUM_G}, /* G */ - {"L", 1, NUM_L}, /* L */ - {"MI", 2, NUM_MI}, /* M */ - {"PL", 2, NUM_PL}, /* P */ + {",", 1, NUM_COMMA}, /* , */ + {".", 1, NUM_DEC}, /* . */ + {"0", 1, NUM_0}, /* 0 */ + {"9", 1, NUM_9}, /* 9 */ + {"B", 1, NUM_B}, /* B */ + {"C", 1, NUM_C}, /* C */ + {"D", 1, NUM_D}, /* D */ + {"E", 1, NUM_E}, /* E */ + {"FM", 2, NUM_FM}, /* F */ + {"G", 1, NUM_G}, /* G */ + {"L", 1, NUM_L}, /* L */ + {"MI", 2, NUM_MI}, /* M */ + {"PL", 2, NUM_PL}, /* P */ {"PR", 2, NUM_PR}, - {"RN", 2, NUM_RN}, /* R */ - {"SG", 2, NUM_SG}, /* S */ + {"RN", 2, NUM_RN}, /* R */ + {"SG", 2, NUM_SG}, /* S */ {"SP", 2, NUM_SP}, {"S", 1, NUM_S}, - {"TH", 2, NUM_TH}, /* T */ - {"V", 1, NUM_V}, /* V */ - {"b", 1, NUM_B}, /* b */ - {"c", 1, NUM_C}, /* c */ - {"d", 1, NUM_D}, /* d */ - {"e", 1, NUM_E}, /* e */ - {"fm", 2, NUM_FM}, /* f */ - {"g", 1, NUM_G}, /* g */ - {"l", 1, NUM_L}, /* l */ - {"mi", 2, NUM_MI}, /* m */ - {"pl", 2, NUM_PL}, /* p */ + {"TH", 2, NUM_TH}, /* T */ + {"V", 1, NUM_V}, /* V */ + {"b", 1, NUM_B}, /* b */ + {"c", 1, NUM_C}, /* c */ + {"d", 1, NUM_D}, /* d */ + {"e", 1, NUM_E}, /* e */ + {"fm", 2, NUM_FM}, /* f */ + {"g", 1, NUM_G}, /* g */ + {"l", 1, NUM_L}, /* l */ + {"mi", 2, NUM_MI}, /* m */ + {"pl", 2, NUM_PL}, /* p */ {"pr", 2, NUM_PR}, - {"rn", 2, NUM_rn}, /* r */ - {"sg", 2, NUM_SG}, /* s */ + {"rn", 2, NUM_rn}, /* r */ + {"sg", 2, NUM_SG}, /* s */ {"sp", 2, NUM_SP}, {"s", 1, NUM_S}, - {"th", 2, NUM_th}, /* t */ - {"v", 1, NUM_V}, /* v */ + {"th", 2, NUM_th}, /* t */ + {"v", 1, NUM_V}, /* v */ /* last */ {NULL, 0, 0} @@ -950,7 +950,7 @@ static void parse_format(FormatNode *node, char *str, const KeyWord *kw, KeySuffix *suf, const int *index, int ver, NUMDesc *Num); static void DCH_to_char(FormatNode *node, bool is_interval, - TmToChar *in, char *out); + TmToChar *in, char *out); static void DCH_from_char(FormatNode *node, char *in, TmFromChar *out); #ifdef DEBUG_TO_FROM_CHAR @@ -1474,7 +1474,7 @@ str_numth(char *dest, char *num, int type) char * str_tolower(const char *buff, size_t nbytes) { - char *result; + char *result; if (!buff) return NULL; @@ -1482,7 +1482,7 @@ str_tolower(const char *buff, size_t nbytes) #ifdef USE_WIDE_UPPER_LOWER if (pg_database_encoding_max_length() > 1 && !lc_ctype_is_c()) { - wchar_t *workspace; + wchar_t *workspace; size_t curr_char; size_t result_size; @@ -1508,9 +1508,9 @@ str_tolower(const char *buff, size_t nbytes) pfree(workspace); } else -#endif /* USE_WIDE_UPPER_LOWER */ +#endif /* USE_WIDE_UPPER_LOWER */ { - char *p; + char *p; result = pnstrdup(buff, nbytes); @@ -1530,7 +1530,7 @@ str_tolower(const char *buff, size_t nbytes) char * str_toupper(const char *buff, size_t nbytes) { - char *result; + char *result; if (!buff) return NULL; @@ -1538,7 +1538,7 @@ str_toupper(const char *buff, size_t nbytes) #ifdef USE_WIDE_UPPER_LOWER if (pg_database_encoding_max_length() > 1 && !lc_ctype_is_c()) { - wchar_t *workspace; + wchar_t *workspace; size_t curr_char; size_t result_size; @@ -1564,9 +1564,9 @@ str_toupper(const char *buff, size_t nbytes) pfree(workspace); } else -#endif /* USE_WIDE_UPPER_LOWER */ +#endif /* USE_WIDE_UPPER_LOWER */ { - char *p; + char *p; result = pnstrdup(buff, nbytes); @@ -1586,7 +1586,7 @@ str_toupper(const char *buff, size_t nbytes) char * str_initcap(const char *buff, size_t nbytes) { - char *result; + char *result; int wasalnum = false; if (!buff) @@ -1595,7 +1595,7 @@ str_initcap(const char *buff, size_t nbytes) #ifdef USE_WIDE_UPPER_LOWER if (pg_database_encoding_max_length() > 1 && !lc_ctype_is_c()) { - wchar_t *workspace; + wchar_t *workspace; size_t curr_char; size_t result_size; @@ -1627,9 +1627,9 @@ str_initcap(const char *buff, size_t nbytes) pfree(workspace); } else -#endif /* USE_WIDE_UPPER_LOWER */ +#endif /* USE_WIDE_UPPER_LOWER */ { - char *p; + char *p; result = pnstrdup(buff, nbytes); @@ -1805,8 +1805,8 @@ from_char_set_int(int *dest, const int value, const FormatNode *node) if (*dest != 0 && *dest != value) ereport(ERROR, (errcode(ERRCODE_INVALID_DATETIME_FORMAT), - errmsg("conflicting values for \"%s\" field in formatting string", - node->key->name), + errmsg("conflicting values for \"%s\" field in formatting string", + node->key->name), errdetail("This value contradicts a previous setting for " "the same field type."))); *dest = value; @@ -1847,8 +1847,7 @@ from_char_parse_int_len(int *dest, char **src, const int len, FormatNode *node) { /* * This node is in Fill Mode, or the next node is known to be a - * non-digit value, so we just slurp as many characters as we - * can get. + * non-digit value, so we just slurp as many characters as we can get. */ errno = 0; result = strtol(init, src, 10); @@ -1859,13 +1858,13 @@ from_char_parse_int_len(int *dest, char **src, const int len, FormatNode *node) * We need to pull exactly the number of characters given in 'len' out * of the string, and convert those. */ - char *last; + char *last; if (used < len) ereport(ERROR, (errcode(ERRCODE_INVALID_DATETIME_FORMAT), - errmsg("source string too short for \"%s\" formatting field", - node->key->name), + errmsg("source string too short for \"%s\" formatting field", + node->key->name), errdetail("Field requires %d characters, but only %d " "remain.", len, used), @@ -1879,12 +1878,12 @@ from_char_parse_int_len(int *dest, char **src, const int len, FormatNode *node) if (used > 0 && used < len) ereport(ERROR, (errcode(ERRCODE_INVALID_DATETIME_FORMAT), - errmsg("invalid value \"%s\" for \"%s\"", - copy, node->key->name), + errmsg("invalid value \"%s\" for \"%s\"", + copy, node->key->name), errdetail("Field requires %d characters, but only %d " - "could be parsed.", len, used), + "could be parsed.", len, used), errhint("If your source string is not fixed-width, try " - "using the \"FM\" modifier."))); + "using the \"FM\" modifier."))); *src += used; } @@ -1893,14 +1892,14 @@ from_char_parse_int_len(int *dest, char **src, const int len, FormatNode *node) ereport(ERROR, (errcode(ERRCODE_INVALID_DATETIME_FORMAT), errmsg("invalid value \"%s\" for \"%s\"", - copy, node->key->name), + copy, node->key->name), errdetail("Value must be an integer."))); if (errno == ERANGE || result < INT_MIN || result > INT_MAX) ereport(ERROR, (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE), errmsg("value for \"%s\" in source string is out of range", - node->key->name), + node->key->name), errdetail("Value must be in the range %d to %d.", INT_MIN, INT_MAX))); @@ -1998,7 +1997,7 @@ seq_search(char *name, char **array, int type, int max, int *len) /* * Perform a sequential search in 'array' for text matching the first 'max' - * characters of the source string. + * characters of the source string. * * If a match is found, copy the array index of the match into the integer * pointed to by 'dest', advance 'src' to the end of the part of the string @@ -2007,15 +2006,15 @@ seq_search(char *name, char **array, int type, int max, int *len) * If the string doesn't match, throw an error. */ static int -from_char_seq_search(int *dest, char **src, char **array, int type, int max, +from_char_seq_search(int *dest, char **src, char **array, int type, int max, FormatNode *node) { - int len; + int len; *dest = seq_search(*src, array, type, max, &len); if (len <= 0) { - char copy[DCH_MAX_ITEM_SIZ + 1]; + char copy[DCH_MAX_ITEM_SIZ + 1]; Assert(max <= DCH_MAX_ITEM_SIZ); strlcpy(copy, *src, max + 1); @@ -2023,9 +2022,9 @@ from_char_seq_search(int *dest, char **src, char **array, int type, int max, ereport(ERROR, (errcode(ERRCODE_INVALID_DATETIME_FORMAT), errmsg("invalid value \"%s\" for \"%s\"", - copy, node->key->name), + copy, node->key->name), errdetail("The given value did not match any of the allowed " - "values for this field."))); + "values for this field."))); } *src += len; return len; @@ -2111,7 +2110,7 @@ DCH_to_char(FormatNode *node, bool is_interval, TmToChar *in, char *out) str_numth(s, s, S_TH_TYPE(n->suffix)); s += strlen(s); break; - case DCH_MS: /* millisecond */ + case DCH_MS: /* millisecond */ #ifdef HAVE_INT64_TIMESTAMP sprintf(s, "%03d", (int) (in->fsec / INT64CONST(1000))); #else @@ -2122,7 +2121,7 @@ DCH_to_char(FormatNode *node, bool is_interval, TmToChar *in, char *out) str_numth(s, s, S_TH_TYPE(n->suffix)); s += strlen(s); break; - case DCH_US: /* microsecond */ + case DCH_US: /* microsecond */ #ifdef HAVE_INT64_TIMESTAMP sprintf(s, "%06d", (int) in->fsec); #else @@ -2263,7 +2262,7 @@ DCH_to_char(FormatNode *node, bool is_interval, TmToChar *in, char *out) strcpy(s, str_toupper_z(localized_full_days[tm->tm_wday])); else sprintf(s, "%*s", S_FM(n->suffix) ? 0 : -9, - str_toupper_z(days[tm->tm_wday])); + str_toupper_z(days[tm->tm_wday])); s += strlen(s); break; case DCH_Day: @@ -2317,7 +2316,7 @@ DCH_to_char(FormatNode *node, bool is_interval, TmToChar *in, char *out) sprintf(s, "%0*d", S_FM(n->suffix) ? 0 : 3, (n->key->id == DCH_DDD) ? tm->tm_yday : - date2isoyearday(tm->tm_year, tm->tm_mon, tm->tm_mday)); + date2isoyearday(tm->tm_year, tm->tm_mon, tm->tm_mday)); if (S_THth(n->suffix)) str_numth(s, s, S_TH_TYPE(n->suffix)); s += strlen(s); @@ -2365,9 +2364,9 @@ DCH_to_char(FormatNode *node, bool is_interval, TmToChar *in, char *out) s += strlen(s); break; case DCH_CC: - if (is_interval) /* straight calculation */ + if (is_interval) /* straight calculation */ i = tm->tm_year / 100; - else /* century 21 starts in 2001 */ + else /* century 21 starts in 2001 */ i = (tm->tm_year - 1) / 100 + 1; if (i <= 99 && i >= -99) sprintf(s, "%0*d", S_FM(n->suffix) ? 0 : 2, i); @@ -2556,7 +2555,7 @@ DCH_from_char(FormatNode *node, char *in, TmFromChar *out) from_char_parse_int(&out->ss, &s, n); s += SKIP_THth(n->suffix); break; - case DCH_MS: /* millisecond */ + case DCH_MS: /* millisecond */ len = from_char_parse_int_len(&out->ms, &s, 3, n); /* @@ -2567,7 +2566,7 @@ DCH_from_char(FormatNode *node, char *in, TmFromChar *out) s += SKIP_THth(n->suffix); break; - case DCH_US: /* microsecond */ + case DCH_US: /* microsecond */ len = from_char_parse_int_len(&out->us, &s, 6, n); out->us *= len == 1 ? 100000 : @@ -2662,6 +2661,7 @@ DCH_from_char(FormatNode *node, char *in, TmFromChar *out) s += SKIP_THth(n->suffix); break; case DCH_Q: + /* * We ignore Q when converting to date because it is not * normative. @@ -2678,13 +2678,15 @@ DCH_from_char(FormatNode *node, char *in, TmFromChar *out) break; case DCH_Y_YYY: { - int matched, years, millenia; + int matched, + years, + millenia; matched = sscanf(s, "%d,%03d", &millenia, &years); if (matched != 2) ereport(ERROR, (errcode(ERRCODE_INVALID_DATETIME_FORMAT), - errmsg("invalid input string for \"Y,YYY\""))); + errmsg("invalid input string for \"Y,YYY\""))); years += (millenia * 1000); from_char_set_int(&out->year, years, n); out->yysz = 4; @@ -2739,12 +2741,12 @@ DCH_from_char(FormatNode *node, char *in, TmFromChar *out) s += SKIP_THth(n->suffix); break; case DCH_RM: - from_char_seq_search(&value, &s, rm_months_upper, + from_char_seq_search(&value, &s, rm_months_upper, ALL_UPPER, MAX_RM_LEN, n); from_char_set_int(&out->mm, 12 - value, n); break; case DCH_rm: - from_char_seq_search(&value, &s, rm_months_lower, + from_char_seq_search(&value, &s, rm_months_lower, ALL_LOWER, MAX_RM_LEN, n); from_char_set_int(&out->mm, 12 - value, n); break; @@ -3276,16 +3278,16 @@ do_to_timestamp(text *date_txt, text *fmt, if (tmfc.ddd && (tm->tm_mon <= 1 || tm->tm_mday <= 1)) { /* - * The month and day field have not been set, so we use the day-of-year - * field to populate them. Depending on the date mode, this field may - * be interpreted as a Gregorian day-of-year, or an ISO week date - * day-of-year. + * The month and day field have not been set, so we use the + * day-of-year field to populate them. Depending on the date mode, + * this field may be interpreted as a Gregorian day-of-year, or an ISO + * week date day-of-year. */ if (!tm->tm_year && !tmfc.bc) ereport(ERROR, (errcode(ERRCODE_INVALID_DATETIME_FORMAT), - errmsg("cannot calculate day of year without year information"))); + errmsg("cannot calculate day of year without year information"))); if (tmfc.mode == FROM_CHAR_DATE_ISOWEEK) { @@ -3302,7 +3304,7 @@ do_to_timestamp(text *date_txt, text *fmt, static const int ysum[2][13] = { {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365}, - {0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366}}; + {0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366}}; y = ysum[isleap(tm->tm_year)]; @@ -3388,8 +3390,8 @@ NUM_cache_getnew(char *str) for (ent = NUMCache; ent <= (NUMCache + NUM_CACHE_FIELDS); ent++) { /* - * entry removed via NUM_cache_remove() can be used here, - * which is why it's worth scanning first entry again + * entry removed via NUM_cache_remove() can be used here, which is + * why it's worth scanning first entry again */ if (ent->str[0] == '\0') { @@ -3621,6 +3623,7 @@ NUM_prepare_locale(NUMProc *Np) */ if (lconv->decimal_point && *lconv->decimal_point) Np->decimal = lconv->decimal_point; + else Np->decimal = "."; @@ -3637,7 +3640,7 @@ NUM_prepare_locale(NUMProc *Np) if (lconv->thousands_sep && *lconv->thousands_sep) Np->L_thousands_sep = lconv->thousands_sep; /* Make sure thousands separator doesn't match decimal point symbol. */ - else if (strcmp(Np->decimal, ",") != 0) + else if (strcmp(Np->decimal, ",") !=0) Np->L_thousands_sep = ","; else Np->L_thousands_sep = "."; |