(configdir): New, to be used for loading configuration tables.

(emp_config): Set it to econfig's directory.
This commit is contained in:
Markus Armbruster 2006-02-18 12:43:17 +00:00
parent 376d87c3a0
commit e4865d473e
3 changed files with 16 additions and 2 deletions

View file

@ -37,7 +37,6 @@
#include "nsc.h"
/* Default econfig file */
extern char dflt_econfig[];
/* Game parameters, can be set in econfig */
@ -45,7 +44,8 @@ extern char dflt_econfig[];
#include "econfig-spec.h"
#undef EMP_CONFIG_H_OUTPUT
/* Variables that get values derived from econfig */
extern char *configdir;
extern char *motdfil;
extern char *downfil;
extern char *disablefil;

View file

@ -78,6 +78,7 @@ emp_config(char *file)
char scanspace[1024];
char *av[128];
char buf[1024];
char *slash;
struct keymatch *kp;
int lno = 0;
int errors = 0;
@ -94,6 +95,11 @@ emp_config(char *file)
return -1;
}
if ((slash = strrchr(file, '/')))
configdir = strndup(file, slash + 1 - file);
else
configdir = NULL;
while (fgets(buf, sizeof buf, fp) != NULL) {
++lno;
for (i = 0; buf[i] && isspace(buf[i]); ++i) ;

View file

@ -37,8 +37,16 @@
#include "optlist.h"
/* econfig file to try when user doesn't specify one */
char dflt_econfig[] = "@econfig@";
/* Where to find configuration, which is wherever econfig is looked for */
char *configdir;
/* Where to find info pages */
char *infodir = "@einfodir@";
/* Where this game's data is stored */
char *gamedir = "@gamedir@";
/* relative to DATADIR */