mirror of
https://github.com/postgres/postgres.git
synced 2026-02-15 16:48:17 -05:00
Oleg Bartunov and Teodor Sigaev, but I did a lot of editorializing, so anything that's broken is probably my fault. Documentation is nonexistent as yet, but let's land the patch so we can get some portability testing done.
62 lines
1.7 KiB
C
62 lines
1.7 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-2007, PostgreSQL Global Development Group
|
|
*
|
|
* $PostgreSQL: pgsql/src/include/snowball/header.h,v 1.1 2007/08/21 01:11:28 tgl Exp $
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef SNOWBALL_HEADR_H
|
|
#define SNOWBALL_HEADR_H
|
|
|
|
#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"
|
|
|
|
/*
|
|
* 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 */
|