• Tom Lane's avatar
    Fix assorted bogosities in cash_in() and cash_out(). · 7609239f
    Tom Lane authored
    cash_out failed to handle multiple-byte thousands separators, as per bug
    #6277 from Alexander Law.  In addition, cash_in didn't handle that either,
    nor could it handle multiple-byte positive_sign.  Both routines failed to
    support multiple-byte mon_decimal_point, which I did not think was worth
    changing, but at least now they check for the possibility and fall back to
    using '.' rather than emitting invalid output.  Also, make cash_in handle
    trailing negative signs, which formerly it would reject.  Since cash_out
    generates trailing negative signs whenever the locale tells it to, this
    last omission represents a fail-to-reload-dumped-data bug.  IMO that
    justifies patching this all the way back.
    7609239f
cash.c 20.4 KB