mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-04 00:02:52 -05:00 
			
		
		
		
	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
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Meson
		
	
	
	
	
	
			
		
		
	
	
			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',
 | 
						|
    ],
 | 
						|
  },
 | 
						|
}
 |