summaryrefslogtreecommitdiff
path: root/contrib/tsearch2/common.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/tsearch2/common.c')
-rw-r--r--contrib/tsearch2/common.c21
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;
+}