summaryrefslogtreecommitdiff
path: root/src/pl/plperl/plperl.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2010-05-08 16:40:38 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2010-05-08 16:40:38 +0000
commit7e84802ce5fccc7851057cb269e819bc0b550fc3 (patch)
tree6fbd2dfaccdf2706231d5df94ed5bdfcb62cc86a /src/pl/plperl/plperl.c
parentddcba8625644291dd5269133976eb10428a9e2c5 (diff)
Work around a subtle portability problem in use of printf %s format.
Depending on which spec you read, field widths and precisions in %s may be counted either in bytes or characters. Our code was assuming bytes, which is wrong at least for glibc's implementation, and in any case libc might have a different idea of the prevailing encoding than we do. Hence, for portable results we must avoid using anything more complex than just "%s" unless the string to be printed is known to be all-ASCII. This patch fixes the cases I could find, including the psql formatting failure reported by Hernan Gonzalez. In HEAD only, I also added comments to some places where it appears safe to continue using "%.*s".
Diffstat (limited to 'src/pl/plperl/plperl.c')
0 files changed, 0 insertions, 0 deletions