/** * Initialize and verify the file paths, and the score file. * * Use the ANGBAND_PATH environment var if possible, else use * DEFAULT_PATH, and in either case, branch off appropriately. * * First, we'll look for the ANGBAND_PATH environment variable, * and then look for the files in there. If that doesn't work, * we'll try the DEFAULT_PATH constants. So be sure that one of * these two things works... * * We must ensure that the path ends with "PATH_SEP" if needed, * since the "init_file_paths()" function will simply append the * relevant "sub-directory names" to the given path. * * Make sure that the path doesn't overflow the buffer. We have * to leave enough space for the path separator, directory, and * filenames. */ static void init_stuff(void) { char configpath[512]; char libpath[512]; char datapath[512]; /* Use the angband_path, or a default */ my_strcpy(configpath, DEFAULT_CONFIG_PATH, sizeof(configpath)); my_strcpy(libpath, DEFAULT_LIB_PATH, sizeof(libpath)); my_strcpy(datapath, DEFAULT_DATA_PATH, sizeof(datapath)); /* Make sure they're terminated */ configpath[511] = '\0'; libpath[511] = '\0'; datapath[511] = '\0'; /* Hack -- Add a path separator (only if needed) */ if (!suffix(configpath, PATH_SEP)) my_strcat(configpath, PATH_SEP, sizeof(configpath)); if (!suffix(libpath, PATH_SEP)) my_strcat(libpath, PATH_SEP, sizeof(libpath)); if (!suffix(datapath, PATH_SEP)) my_strcat(datapath, PATH_SEP, sizeof(datapath)); /* Initialize */ init_file_paths(configpath, libpath, datapath); }
/* * Initialize and verify the file paths, and the score file. * * Use the ANGBAND_PATH environment var if possible, else use * DEFAULT_PATH, and in either case, branch off appropriately. * * First, we'll look for the ANGBAND_PATH environment variable, * and then look for the files in there. If that doesn't work, * we'll try the DEFAULT_PATH constant. So be sure that one of * these two things works... * * We must ensure that the path ends with "PATH_SEP" if needed, * since the "init_file_paths()" function will simply append the * relevant "sub-directory names" to the given path. * * Note that the "path" must be "Angband:" for the Amiga, and it * is ignored for "VM/ESA", so I just combined the two. * * Make sure that the path doesn't overflow the buffer. We have * to leave enough space for the path separator, directory, and * filenames. */ static void init_stuff(void) { char path[1024]; #if defined(AMIGA) || defined(VM) /* Hack -- prepare "path" */ strcpy(path, "Angband:"); #else /* AMIGA / VM */ cptr tail; /* Get the environment variable */ tail = getenv("ANGBAND_PATH"); /* Use the angband_path, or a default */ strncpy(path, tail ? tail : DEFAULT_PATH, 511); /* Make sure it's terminated */ path[511] = '\0'; /* Hack -- Add a path separator (only if needed) */ if (!suffix(path, PATH_SEP)) strcat(path, PATH_SEP); #endif /* AMIGA / VM */ /* Initialize */ init_file_paths(path); }
static void init_stuff(void) { char path[1024]; cptr tail; /* Get the environment variable */ tail = getenv("ANGBAND_PATH"); /* Use the angband_path, or a default */ strcpy(path, tail ? tail : DEFAULT_PATH); /* Hack -- Add a path separator (only if needed) */ if (!suffix(path, PATH_SEP)) strcat(path, PATH_SEP); /* Initialize */ #ifdef PRIVATE_USER_PATH init_file_paths(path,path,PRIVATE_USER_PATH,NULL); create_user_dirs(); #else /* PRIVATE_USER_PATH */ init_file_paths(path,path,path,path); #endif /* PRIVATE_USER_PATH */ }
/** * Init some stuff * * This function is used to keep the "path" variable off the stack. */ static void init_stuff(void) { char path[1024]; /* Prepare the path XXX XXX XXX */ /* This must in some way prepare the "path" variable */ /* so that it points at the "lib" directory. Every */ /* machine handles this in a different way... */ my_strcpy(path, "XXX XXX XXX", sizeof(path)); /* Prepare the filepaths */ init_file_paths(path, path, path); /* Set up sound hook */ event_add_handler(EVENT_SOUND, xxx_sound, NULL); }
/* * Call this function to simulate init_stuff() and populate the *_info arrays */ void read_edit_files(void) { char configpath[512], libpath[512], datapath[512]; my_strcpy(configpath, DEFAULT_CONFIG_PATH, sizeof(configpath)); my_strcpy(libpath, DEFAULT_LIB_PATH, sizeof(libpath)); my_strcpy(datapath, DEFAULT_DATA_PATH, sizeof(datapath)); configpath[511] = libpath[511] = datapath[511] = '\0'; if (!suffix(configpath, PATH_SEP)) my_strcat(configpath, PATH_SEP, sizeof(configpath)); if (!suffix(libpath, PATH_SEP)) my_strcat(libpath, PATH_SEP, sizeof(libpath)); if (!suffix(datapath, PATH_SEP)) my_strcat(datapath, PATH_SEP, sizeof(datapath)); init_file_paths(configpath, libpath, datapath); init_arrays(); }
/* * Initialize and verify the file paths, and the score file. * * Use the ANGBAND_PATH environment var if possible, else use * DEFAULT_PATH, and in either case, branch off appropriately. * * First, we'll look for the ANGBAND_PATH environment variable, * and then look for the files in there. If that doesn't work, * we'll try the DEFAULT_PATH constant. So be sure that one of * these two things works... * * We must ensure that the path ends with "PATH_SEP" if needed, * since the "init_file_paths()" function will simply append the * relevant "sub-directory names" to the given path. * * Make sure that the path doesn't overflow the buffer. We have * to leave enough space for the path separator, directory, and * filenames. */ static void init_stuff(void) { char path[1024]; const char * tail; /* Get the environment variable */ tail = getenv("ANGBAND_PATH"); /* Use the angband_path, or a default */ strncpy(path, tail ? tail : DEFAULT_PATH, 511); /* Make sure it's terminated */ path[511] = '\0'; /* Hack -- Add a path separator (only if needed) */ if (!suffix(path, PATH_SEP)) strcat(path, PATH_SEP); /* Initialize */ init_file_paths(path); }
/* * Initialize and verify the file paths, and the score file. * * Use the ANGBAND_PATH environment var if possible, else use * DEFAULT_PATH, and in either case, branch off appropriately. * * First, we'll look for the ANGBAND_PATH environment variable, * and then look for the files in there. If that doesn't work, * we'll try the DEFAULT_PATH constant. So be sure that one of * these two things works... * * We must ensure that the path ends with "PATH_SEP" if needed, * since the "init_file_paths()" function will simply append the * relevant "sub-directory names" to the given path. * * Note that the "path" must be "Angband:" for the Amiga, and it * is ignored for "VM/ESA", so I just combined the two. * * Make sure that the path doesn't overflow the buffer. We have * to leave enough space for the path separator, directory, and * filenames. */ static void init_stuff(void) { char configpath[512]; char libpath[512]; char datapath[512]; #if defined(AMIGA) || defined(VM) /* Hack -- prepare "path" */ strcpy(configpath, "Angband:"); strcpy(libpath, "Angband:"); strcpy(datapath, "Angband:"); #else /* AMIGA / VM */ /* Use the angband_path, or a default */ my_strcpy(configpath, DEFAULT_CONFIG_PATH, sizeof(configpath)); my_strcpy(libpath, DEFAULT_LIB_PATH, sizeof(libpath)); my_strcpy(datapath, DEFAULT_DATA_PATH, sizeof(datapath)); /* Make sure they're terminated */ configpath[511] = '\0'; libpath[511] = '\0'; datapath[511] = '\0'; /* Hack -- Add a path separator (only if needed) */ if (!suffix(configpath, PATH_SEP)) my_strcat(configpath, PATH_SEP, sizeof(configpath)); if (!suffix(libpath, PATH_SEP)) my_strcat(libpath, PATH_SEP, sizeof(libpath)); if (!suffix(datapath, PATH_SEP)) my_strcat(datapath, PATH_SEP, sizeof(datapath)); #endif /* AMIGA / VM */ /* Initialize */ init_file_paths(configpath, libpath, datapath); }