postgresql/contrib/hstore/meson.build
Michael Paquier d522b05c8c hstore: Tighten key/value parsing check for whitespaces
isspace() can be locale-sensitive depending on the platform, causing
hstore to consider as whitespaces characters it should not see as such.
For example, U+0105, being decoded as 0xC4 0x85 in UTF-8, would be
discarded from the input given.

This problem is similar to 9ae2661, though it was missed that hstore
can also manipulate non-ASCII inputs, so replace the existing isspace()
calls with scanner_isspace().

This problem exists for a long time, so backpatch all the way down.

Author: Evan Jones
Discussion: https://postgr.es/m/CA+HWA9awUW0+RV_gO9r1ABZwGoZxPztcJxPy8vMFSTbTfi4jig@mail.gmail.com
Backpatch-through: 11
2023-06-12 09:14:03 +09:00

57 lines
1.1 KiB
Meson

# Copyright (c) 2022-2023, PostgreSQL Global Development Group
# .. so that includes of hstore/hstore.h work
hstore_inc = include_directories('.', '../')
hstore_sources = files(
'hstore_compat.c',
'hstore_gin.c',
'hstore_gist.c',
'hstore_io.c',
'hstore_op.c',
'hstore_subs.c',
)
if host_system == 'windows'
hstore_sources += rc_lib_gen.process(win32ver_rc, extra_args: [
'--NAME', 'hstore',
'--FILEDESC', 'hstore - key/value pair data type',])
endif
hstore = shared_module('hstore',
hstore_sources,
c_pch: pch_postgres_h,
kwargs: contrib_mod_args,
)
contrib_targets += hstore
install_data(
'hstore.control',
'hstore--1.1--1.2.sql',
'hstore--1.2--1.3.sql',
'hstore--1.3--1.4.sql',
'hstore--1.4.sql',
'hstore--1.4--1.5.sql',
'hstore--1.5--1.6.sql',
'hstore--1.6--1.7.sql',
'hstore--1.7--1.8.sql',
kwargs: contrib_data_args,
)
install_headers(
'hstore.h',
install_dir: dir_include_extension / 'hstore',
)
tests += {
'name': 'hstore',
'sd': meson.current_source_dir(),
'bd': meson.current_build_dir(),
'regress': {
'sql': [
'hstore',
'hstore_utf8',
],
},
}