12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- /*-------------------------------------------------------------------------
- *
- * header.h
- * Replacement header file for Snowball stemmer modules
- *
- * The Snowball stemmer modules do #include "header.h", and think they
- * are including snowball/libstemmer/header.h. We adjust the CPPFLAGS
- * so that this file is found instead, and thereby we can modify the
- * headers they see. The main point here is to ensure that pg_config.h
- * is included before any system headers such as <stdio.h>; without that,
- * we have portability issues on some platforms due to variation in
- * largefile options across different modules in the backend.
- *
- * NOTE: this file should not be included into any non-snowball sources!
- *
- * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
- *
- * src/include/snowball/header.h
- *
- *-------------------------------------------------------------------------
- */
- #ifndef SNOWBALL_HEADR_H
- #define SNOWBALL_HEADR_H
- /*
- * It's against Postgres coding conventions to include postgres.h in a
- * header file, but we allow the violation here because the alternative is
- * to modify the machine-generated .c files provided by the Snowball project.
- */
- #include "postgres.h"
- /* Some platforms define MAXINT and/or MININT, causing conflicts */
- #ifdef MAXINT
- #undef MAXINT
- #endif
- #ifdef MININT
- #undef MININT
- #endif
- /* Now we can include the original Snowball header.h */
- #include "snowball/libstemmer/header.h" /* pgrminclude ignore */
- /*
- * Redefine standard memory allocation interface to pgsql's one.
- * This allows us to control where the Snowball code allocates stuff.
- */
- #ifdef malloc
- #undef malloc
- #endif
- #define malloc(a) palloc(a)
- #ifdef calloc
- #undef calloc
- #endif
- #define calloc(a,b) palloc0((a) * (b))
- #ifdef realloc
- #undef realloc
- #endif
- #define realloc(a,b) repalloc(a,b)
- #ifdef free
- #undef free
- #endif
- #define free(a) pfree(a)
- #endif /* SNOWBALL_HEADR_H */
|