Fix compiling issue on 32-bit environments. master
authorTatsuo Ishii <ishii@postgresql.org>
Wed, 17 Sep 2025 23:24:13 +0000 (08:24 +0900)
committerTatsuo Ishii <ishii@postgresql.org>
Wed, 17 Sep 2025 23:24:13 +0000 (08:24 +0900)
It is reported that compiling src/parser/snprintf.c on 32-bit
environments fails due to undefined functions (isnan() and
ininf()). They come from math.h so include it.  snprintf.c was
imported from PostgreSQL long time ago. If we look into the original
file (src/port/snprintf.c) it actually has "#include <math.h>"
already. Including math.h was provided as a pull request:
https://github.com/pgpool/pgpool2/pull/128

I also added a minor modification to the patch to reorder the
positions of include files.

Author: Gyorgy Sarvari <skandigraun@gmail.com>
Discussion: https://www.postgresql.org/message-id/20250917.194736.353755422175293639.ishii%40postgresql.org
Backpatch-through: v4.2

src/parser/snprintf.c

index c3564935e74858adf897e7493b4442cc6a18b118..ec0355205978c0ed7d3ebf6cbfb8d82f0d3a1254 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2024, PgPool Global Development Group
+ * Copyright (c) 2003-2025, PgPool Global Development Group
  * Copyright (c) 1983, 1995, 1996 Eric P. Allman
  * Copyright (c) 1988, 1993
  *     The Regents of the University of California.  All rights reserved.
  * src/port/snprintf.c
  */
 
-#if 0
-#include "c.h"
-#endif
-
+#include <ctype.h>
+#include <errno.h>
+#include <math.h>
 #include <stdarg.h>
-#include <stdio.h>
 #include <stdint.h>
+#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <ctype.h>
-#include <errno.h>
 #include "pool_parser.h"
 #include "stringinfo.h"
 #include "utils/palloc.h"