version 1.4.45b
[polyglot.git] / option.c
index 701a251..ec0dc48 100644 (file)
--- a/option.c
+++ b/option.c
@@ -12,7 +12,7 @@
 // constants\r
 \r
 static const bool UseDebug = FALSE;\r
-\r
+static const int  StringSize = 4096;\r
 \r
 // variables\r
 \r
@@ -25,9 +25,9 @@ option_t DefaultOptions[] = {
 \r
    // options\r
 \r
-    { "Persist",      "check","0","0",      "true"     , NULL,0,NNB,  PG|XBOARD},\r
-\r
+    { "Persist",      "check","0","0",      "true"      , NULL,0,NNB,  PG|XBOARD},\r
     { "PersistFile",  "string","0","0",     "<empty>"   , NULL,0,NNB,  PG},\r
+    { "PersistDir",   "string","0","0",     "<empty>"   , NULL,0,NNB,  PG},\r
     \r
     { "EngineName",       "string","0","0",     "<empty>"   , NULL,0,NNB,  PG}, \r
     { "EngineDir",        "string","0","0",     "."         , NULL,0,NNB,  PG}, \r
@@ -105,6 +105,8 @@ void option_init_pg() {
 \r
     int i;\r
     option_t *p=DefaultOptions;\r
+    char *home_dir;\r
+    char PersistDir[StringSize];\r
     \r
     option_init(Option);\r
     while(p){\r
@@ -118,6 +120,18 @@ void option_init_pg() {
     for(i=0;i<Option->option_nb;i++){\r
         Option->options[i].value=my_strdup(Option->options[i].default_);\r
     }\r
+#ifndef _WIN32\r
+    home_dir=getenv("HOME");\r
+    if(!home_dir){\r
+        home_dir=".";\r
+    }\r
+    snprintf(PersistDir,sizeof(PersistDir),"%s/.polyglot",home_dir);\r
+    PersistDir[sizeof(PersistDir)-1]='\0';\r
+#else\r
+    sprintf(PersistDir,".\\Polyglot Settings");\r
+#endif\r
+    option_set(Option,"PersistDir",PersistDir);\r
+    option_set_default(Option,"PersistDir",PersistDir);\r
 }\r
 \r
 // option_init()\r