X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=args.h;h=827952e2d0431394eca63f65950863d25ac5620d;hb=c5e79d2e39fbafdeb7fac07906891d33b7a5363a;hp=03a7f432e2ca2e3a54a8445f7a6ce4037ba9bc32;hpb=daf0fb324ca20ca54b49b1604dbc3d4ecf9ecf85;p=xboard.git diff --git a/args.h b/args.h index 03a7f43..827952e 100644 --- a/args.h +++ b/args.h @@ -875,6 +875,12 @@ ParseSettingsFile(char *name, char **addr) } if (ok) { f = fopen(fullname, "r"); +#ifdef DATADIR + if(f == NULL && *fullname != '/') { // when a relative name did not work + MySearchPath(DATADIR "/themes/conf", name, fullname); // also look in standard place + f = fopen(fullname, "r"); + } +#endif if (f != NULL) { if (addr != NULL) { ASSIGN(*addr, fullname); @@ -1107,6 +1113,14 @@ ParseArgs(GetFunc get, void *cl) case ArgString: case ArgFilename: +#ifdef DATADIR + if(argValue[0] == '~' && argValue[1] == '~') { + char buf[4*MSG_SIZ]; // expand ~~ + snprintf(buf, 4*MSG_SIZ, DATADIR "%s", argValue+2); + ASSIGN(*(char **) ad->argLoc, buf); + break; + } +#endif ASSIGN(*(char **) ad->argLoc, argValue); break;