mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-28 00:31:51 +02:00
c8e1ba736b
Backpatch-through: 11
68 lines
1.9 KiB
C
68 lines
1.9 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* 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-2023, 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 */
|