|
8 | 8 | *
|
9 | 9 | *
|
10 | 10 | * IDENTIFICATION
|
11 |
| - * $Header: /cvsroot/pgsql/src/backend/utils/fmgr/dfmgr.c,v 1.57 2002/09/02 02:47:05 momjian Exp $ |
| 11 | + * $Header: /cvsroot/pgsql/src/backend/utils/fmgr/dfmgr.c,v 1.58 2003/04/04 20:42:12 momjian Exp $ |
12 | 12 | *
|
13 | 13 | *-------------------------------------------------------------------------
|
14 | 14 | */
|
@@ -271,7 +271,7 @@ expand_dynamic_library_name(const char *name)
|
271 | 271 |
|
272 | 272 | AssertArg(name);
|
273 | 273 |
|
274 |
| -have_slash= (strchr(name,'/')!=NULL); |
| 274 | +have_slash= (first_path_separator(name)!=NULL); |
275 | 275 |
|
276 | 276 | if (!have_slash)
|
277 | 277 | {
|
@@ -326,7 +326,13 @@ substitute_libpath_macro(const char *name)
|
326 | 326 | if (name[0]!='$')
|
327 | 327 | returnpstrdup(name);
|
328 | 328 |
|
329 |
| -macroname_len=strcspn(name+1,"/")+1; |
| 329 | +macroname_len=strcspn(name+1, |
| 330 | +#ifndefWIN32 |
| 331 | +"/" |
| 332 | +#else |
| 333 | +"/\\" |
| 334 | +#endif |
| 335 | +)+1; |
330 | 336 |
|
331 | 337 | if (strncmp(name,"$libdir",macroname_len)==0)
|
332 | 338 | replacement=PKGLIBDIR;
|
@@ -362,7 +368,7 @@ find_in_dynamic_libpath(const char *basename)
|
362 | 368 | size_tbaselen;
|
363 | 369 |
|
364 | 370 | AssertArg(basename!=NULL);
|
365 |
| -AssertArg(strchr(basename,'/')==NULL); |
| 371 | +AssertArg(first_path_separator(basename)==NULL); |
366 | 372 | AssertState(Dynamic_library_path!=NULL);
|
367 | 373 |
|
368 | 374 | p=Dynamic_library_path;
|
@@ -391,7 +397,7 @@ find_in_dynamic_libpath(const char *basename)
|
391 | 397 | pfree(piece);
|
392 | 398 |
|
393 | 399 | /* only absolute paths */
|
394 |
| -if (mangled[0]!='/') |
| 400 | +if (!is_absolute_path(mangled)) |
395 | 401 | elog(ERROR,"dynamic_library_path component is not absolute");
|
396 | 402 |
|
397 | 403 | full=palloc(strlen(mangled)+1+baselen+1);
|
|