mirror of
https://github.com/postgres/postgres.git
synced 2025-11-03 09:13:20 +03:00
Use <stdint.h> and <inttypes.h> for c.h integers.
Redefine our exact width types with standard C99 types and macros, including int64_t, INT64_MAX, INT64_C(), PRId64 etc. We were already using <stdint.h> types in a few places. One complication is that Windows' <inttypes.h> uses format strings like "%I64d", "%I32", "%I" for PRI*64, PRI*32, PTR*PTR, instead of mapping to other standardized format strings like "%lld" etc as seen on other known systems. Teach our snprintf.c to understand them. This removes a lot of configure clutter, and should also allow 64-bit numbers and other standard types to be used in localized messages without casting. Reviewed-by: Peter Eisentraut <peter@eisentraut.org> Discussion: https://postgr.es/m/ME3P282MB3166F9D1F71F787929C0C7E7B6312%40ME3P282MB3166.AUSP282.PROD.OUTLOOK.COM
This commit is contained in:
@@ -1,14 +1,5 @@
|
||||
# Copyright (c) 2022-2024, PostgreSQL Global Development Group
|
||||
|
||||
pg_config_ext = configure_file(
|
||||
input: 'pg_config_ext.h.meson',
|
||||
output: 'pg_config_ext.h',
|
||||
configuration: cdata,
|
||||
install: true,
|
||||
install_dir: dir_include,
|
||||
)
|
||||
configure_files += pg_config_ext
|
||||
|
||||
pg_config_os = configure_file(
|
||||
output: 'pg_config_os.h',
|
||||
input: files('port/@0@.h'.format(portname)),
|
||||
@@ -116,7 +107,6 @@ install_headers(
|
||||
'postgres_fe.h',
|
||||
'varatt.h',
|
||||
'windowapi.h',
|
||||
pg_config_ext,
|
||||
pg_config_os,
|
||||
pg_config,
|
||||
install_dir: dir_include_server,
|
||||
@@ -186,4 +176,4 @@ install_subdir('catalog',
|
||||
)
|
||||
|
||||
# autoconf generates the file there, ensure we get a conflict
|
||||
generated_sources_ac += {'src/include': ['stamp-h', 'stamp-ext-h']}
|
||||
generated_sources_ac += {'src/include': ['stamp-h']}
|
||||
|
||||
Reference in New Issue
Block a user