char *file_read__tmp;
/*!
-- * @brief 各データファイルを読み取るためのパスを取得する
- * Set the default paths to all of our important sub-directories.
+ * Find the default paths to all of our important sub-directories.
- * @param path パス保管先の文字列
+ * @param libpath パス保管先の文字列
+ * @param varpath Is the base path for directories that have files which
+ * are not read-only: ANGBAND_DIR_APEX, ANGBAND_DIR_BONE, ANGBAND_DIR_DATA,
+ * and ANGBAND_DIR_SAVE. If the PRIVATE_USER_PATH preprocessor macro has not
+ * been set, it is also used as the base path for ANGBAND_DIR_USER.
- * @return なし
+ * @details
+ * <pre>
+ * The purpose of each sub-directory is described in "io/files-util.c".
+ * The traditional behavior was to put all of the sub-directories within
+ * one directory, "lib". To get that behavior, pass the same string for
+ * libpath and varpath. Further customization may be done later in response
+ * to command line options (most importantly for the "info", "user", and
+ * "save" directories), but that is done after this function: see
+ * "change_path()" in "main.c". libpath and varpath should end in the
+ * appropriate "PATH_SEP" string. All of the "sub-directory" paths
+ * (created below or supplied by the user) will NOT end in the "PATH_SEP"
+ * string, see the special "path_build()" function in "util/angband-files.c"
+ * for more information.
+ * Hack -- first we free all the strings, since this is known
+ * to succeed even if the strings have not been allocated yet,
+ * as long as the variables start out as "NULL". This allows
+ * this function to be called multiple times, for example, to
+ * try several base "path" values until a good one is found.
+ * </pre>
*/
-void init_file_paths(char *libpath, char *varpath)
+void init_file_paths(concptr libpath, concptr varpath)
{
- char *libtail, *vartail;
+#ifdef PRIVATE_USER_PATH
+ char base[1024];
+#endif
char buf[1024];
string_free(ANGBAND_DIR);