2 * Copyright (c) 1995-2000, Index Data.
3 * See the file LICENSE for details.
4 * Sebastian Hammer, Adam Dickmeiss
7 * Revision 1.5 2000-12-05 19:03:19 adam
8 * WIN32 fixes for drive specifications.
10 * Revision 1.4 2000/02/29 13:44:55 adam
11 * Check for config.h (currently not generated).
13 * Revision 1.3 1999/11/30 13:47:12 adam
14 * Improved installation. Moved header files to include/yaz.
16 * Revision 1.2 1996/10/29 13:36:26 adam
19 * Revision 1.1 1995/11/01 16:35:00 quinn
20 * Making data1 look for tables in data1_tabpath
30 #include <yaz/tpath.h>
32 FILE *yaz_path_fopen(const char *path, const char *name, const char *mode)
40 const char *path_sep = 0;
45 /* somewhat dirty since we have to consider Windows
48 if (strchr ("/\\.", *path))
50 path_sep = strchr (path+1, ':');
52 else if (path[0] && path[1])
53 path_sep = strchr (path+2, ':');
55 len = path_sep - path;
60 memcpy (spath, path, len);
61 if (!strchr("/\\", spath[len-1]))
63 strcpy (spath+len, "/");
67 sprintf (spath+len, "%.255s", name);
68 if ((f = fopen(spath, mode)))