|
@@ -106,7 +106,7 @@ int read_point(double e, double n)
|
|
|
|
|
|
int read_eps(double e, double n)
|
|
|
{
|
|
|
- char buf[1024];
|
|
|
+ char buf[1024], eps_file[GPATH_MAX];
|
|
|
char *eps;
|
|
|
double scale, rotate;
|
|
|
int have_eps;
|
|
@@ -140,7 +140,18 @@ int read_eps(double e, double n)
|
|
|
|
|
|
if (KEY("epsfile")) {
|
|
|
G_chop(data);
|
|
|
- eps = G_store(data);
|
|
|
+
|
|
|
+ /* expand "$GISBASE" if present */
|
|
|
+ if (strncmp(data, "$GISBASE", 8) != 0)
|
|
|
+ strcpy(eps_file, data);
|
|
|
+ else {
|
|
|
+ strcpy(eps_file, G_gisbase());
|
|
|
+ data += 8;
|
|
|
+ strcat(eps_file, data);
|
|
|
+ }
|
|
|
+
|
|
|
+ eps = G_store(eps_file);
|
|
|
+
|
|
|
/* test if file is accessible */
|
|
|
if ((fp = fopen(eps, "r")) == NULL)
|
|
|
error(key, data, "Can't open eps file");
|