diff options
Diffstat (limited to 'contrib/tsearch2/common.c')
| -rw-r--r-- | contrib/tsearch2/common.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/contrib/tsearch2/common.c b/contrib/tsearch2/common.c index 4984c3d256b..c7b9cd3c359 100644 --- a/contrib/tsearch2/common.c +++ b/contrib/tsearch2/common.c @@ -5,6 +5,7 @@ #include "catalog/pg_proc.h" #include "catalog/pg_namespace.h" #include "utils/syscache.h" +#include "miscadmin.h" #include "ts_cfg.h" #include "dict.h" @@ -163,3 +164,23 @@ get_oidnamespace(Oid funcoid) return nspoid; } + + /* if path is relative, take it as relative to share dir */ +char * +to_absfilename(char *filename) { + if (!is_absolute_path(filename)) { + char sharepath[MAXPGPATH]; + char *absfn; +#ifdef WIN32 + char delim = '\\'; +#else + char delim = '/'; +#endif + get_share_path(my_exec_path, sharepath); + absfn = palloc(strlen(sharepath) + strlen(filename) + 2); + sprintf(absfn, "%s%c%s", sharepath, delim, filename); + filename = absfn; + } + + return filename; +} |
