version 1.4.41b
authorH.G. Muller <h.g.muller@hccnet.nl>
Thu, 9 Jun 2011 08:03:47 +0000 (10:03 +0200)
committerH.G. Muller <h.g.muller@hccnet.nl>
Thu, 9 Jun 2011 08:03:47 +0000 (10:03 +0200)
ChangeLog
README
config.h
configure
configure.ac
main.c
option.c
polyglot.man
polyglot.pod
polyglot.spec

index 7edc95d..9becd56 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+=========1.4.41b================\r
+- Some segfaults fixed in case of corrupt config files.\r
+- Persistence of options. If the option SaveSettingsOnExit is true (the default) PolyGlot now saves its options in a file whose name is given by the option SaveFile which by default is equal to the engine name, prefixex by PG_ and suffixed by ".ini".\r
 =========1.4.39b================\r
 - Refactoring of config file parsing\r
 - Fix crash bug in epd-test\r
diff --git a/README b/README
index ac68f66..37b76f5 100644 (file)
--- a/README
+++ b/README
@@ -427,13 +427,14 @@ CONFIG FILE FORMAT
            a process is allowed to run on. This option works only on Windows.
 
        SaveSettingsOnExit (default: true)
-           If true then PolyGlot will implement persistence by loading its
-           options from an additional INI file which is specified by the
-           option "SaveFile". At exit PolyGlot will also save its options to
-           this INI file.
+           If true then PolyGlot will implement persistence by loading options
+           from an additional INI file which is specified by the option "Save-
+           File". At exit PolyGlot will also save its options to this INI
+           file.
 
-       SaveFile (default: <EngineName>.ini)
+       SaveFile (default: PG_<EngineName>.ini)
            The name of the file from which to take the additional options.
+           You can safely edit this file.
 
        Work arounds
 
index 54c654a..e72fdc2 100644 (file)
--- a/config.h
+++ b/config.h
 #define PACKAGE_NAME "polyglot"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "polyglot 1.4.39b"
+#define PACKAGE_STRING "polyglot 1.4.41b"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "polyglot"
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.4.39b"
+#define PACKAGE_VERSION "1.4.41b"
 
 /* Define to 1 if the C compiler supports function prototypes. */
 #define PROTOTYPES 1
 #define TIME_WITH_SYS_TIME 1
 
 /* Version number of package */
-#define VERSION "1.4.39b"
+#define VERSION "1.4.41b"
 
 /* Define like PROTOTYPES; this can be used by system headers. */
 #define __PROTOTYPES 1
index 536f85c..4e41c1a 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for polyglot 1.4.39b.
+# Generated by GNU Autoconf 2.61 for polyglot 1.4.41b.
 #
 # Report bugs to <michel.vandenbergh@uhasselt.be>.
 #
@@ -574,8 +574,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='polyglot'
 PACKAGE_TARNAME='polyglot'
-PACKAGE_VERSION='1.4.39b'
-PACKAGE_STRING='polyglot 1.4.39b'
+PACKAGE_VERSION='1.4.41b'
+PACKAGE_STRING='polyglot 1.4.41b'
 PACKAGE_BUGREPORT='michel.vandenbergh@uhasselt.be'
 
 ac_unique_file="mainloop.c"
@@ -1207,7 +1207,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures polyglot 1.4.39b to adapt to many kinds of systems.
+\`configure' configures polyglot 1.4.41b to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1273,7 +1273,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of polyglot 1.4.39b:";;
+     short | recursive ) echo "Configuration of polyglot 1.4.41b:";;
    esac
   cat <<\_ACEOF
 
@@ -1357,7 +1357,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-polyglot configure 1.4.39b
+polyglot configure 1.4.41b
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1371,7 +1371,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by polyglot $as_me 1.4.39b, which was
+It was created by polyglot $as_me 1.4.41b, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -2061,7 +2061,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='polyglot'
- VERSION='1.4.39b'
+ VERSION='1.4.41b'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -6848,7 +6848,7 @@ exec 6>&1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by polyglot $as_me 1.4.39b, which was
+This file was extended by polyglot $as_me 1.4.41b, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -6901,7 +6901,7 @@ Report bugs to <bug-autoconf@gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-polyglot config.status 1.4.39b
+polyglot config.status 1.4.41b
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
index aacfe45..36f79aa 100644 (file)
@@ -2,7 +2,7 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.61)
-AC_INIT([polyglot], [1.4.39b], [michel.vandenbergh@uhasselt.be])
+AC_INIT([polyglot], [1.4.41b], [michel.vandenbergh@uhasselt.be])
 AM_INIT_AUTOMAKE
 AC_CONFIG_SRCDIR([mainloop.c])
 AC_CONFIG_HEADER([config.h])
diff --git a/main.c b/main.c
index 95ddd20..6ffac64 100644 (file)
--- a/main.c
+++ b/main.c
@@ -36,7 +36,7 @@
 // constants\r
 \r
 \r
-static const char * const Version = "1.4.39b";\r
+static const char * const Version = "1.4.41b";\r
 static const char * const HelpMessage = "\\r
 SYNTAX\n\\r
 * polyglot [configfile] [-noini] [-ec engine] [-ed enginedirectory] [-en enginename] [-log] [-lf logfile] [-hash value] [-bk book] [-pg <name>=<value>]* [-uci <name>=<value>]*\n\\r
@@ -83,10 +83,15 @@ void write_ini(const char *filename,
     if(!f){\r
         my_fatal("ini_create_pg(): Cannot open %s for writing.\n",filename);\r
     }\r
+    fprintf(f,"; You may edit this file to set options for the\n"\r
+              "; UCI engine whose PolyGlot name is %s.\n"\r
+              "; You may also safely delete this file\n"\r
+              "; to restore the default options.\n",\r
+            option_get_string(Option,"EngineName"));\r
     fprintf(f,"[PolyGlot]\n");\r
     option_start_iter(pg_options);\r
     while((opt=option_next(pg_options))){\r
-        if(opt->mode & XBOARD){\r
+        if(!my_string_case_equal(opt->type,"button") && (opt->mode & XBOARD)){\r
             snprintf(tmp,sizeof(tmp),"%s=%s\n",opt->name,opt->value);\r
             tmp[sizeof(tmp)-1]='\0';\r
             fprintf(f,"%s",tmp);\r
@@ -95,9 +100,11 @@ void write_ini(const char *filename,
     fprintf(f,"[Engine]\n");\r
     option_start_iter(uci_options);\r
     while((opt=option_next(uci_options))){\r
-        snprintf(tmp,sizeof(tmp),"%s=%s\n",opt->name,opt->value);\r
-        tmp[sizeof(tmp)-1]='\0';\r
-        fprintf(f,"%s",tmp);\r
+        if(!my_string_case_equal(opt->type,"button")){\r
+            snprintf(tmp,sizeof(tmp),"%s=%s\n",opt->name,opt->value);\r
+            tmp[sizeof(tmp)-1]='\0';\r
+            fprintf(f,"%s",tmp);\r
+        }\r
     }\r
     fclose(f);\r
 }\r
@@ -334,7 +341,7 @@ int main(int argc, char * argv[]) {
 \r
     if(my_string_equal(option_get_string(Option,"SaveFile"),"<empty>")){\r
         char tmp[StringSize];\r
-        snprintf(tmp,sizeof(tmp),"%s.ini",\r
+        snprintf(tmp,sizeof(tmp),"PG_%s.ini",\r
                  option_get_string(Option,"EngineName"));\r
         tmp[sizeof(tmp)-1]='\0';\r
         option_set(Option,"SaveFile",tmp);\r
@@ -347,8 +354,8 @@ int main(int argc, char * argv[]) {
     }\r
         // start if it was enabled in the SaveFile\r
     \r
+    my_log_close();\r
     if (option_get_bool(Option,"Log")) {\r
-        my_log_close();\r
         my_log_open(option_get_string(Option,"LogFile"));\r
     }\r
         // remind the user of the options that are now in effect\r
index 44d5c83..975940b 100644 (file)
--- a/option.c
+++ b/option.c
@@ -25,8 +25,9 @@ option_t DefaultOptions[] = {
 \r
    // options\r
 \r
-    { "SaveSettingsOnExit","check","0","0",      "true"     , NULL,0,NNB,  PG|XBOARD}, \r
-    { "SaveFile",         "string","0","0",     "<empty>"   , NULL,0,NNB,  PG|XBOARD},\r
+    { "SaveSettingsOnExit","check","0","0",      "true"     , NULL,0,NNB,  PG|XBOARD},\r
+\r
+    { "SaveFile",         "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
index b734c11..9de40e2 100644 (file)
@@ -547,13 +547,14 @@ This a bit vector in which each bit represents the processors that a
 process is allowed to run on. This option works only on Windows. 
 .IP "\fBSaveSettingsOnExit\fR (default: true)" 4
 .IX Item "SaveSettingsOnExit (default: true)"
-If true then PolyGlot will implement persistence by loading its
+If true then PolyGlot will implement persistence by loading 
 options from an additional \s-1INI\s0 file which is specified by the option
 \&\*(L"SaveFile\*(R". At exit PolyGlot will also save its options to this \s-1INI\s0
-file.
-.IP "\fBSaveFile\fR (default: <EngineName>.ini)" 4
-.IX Item "SaveFile (default: <EngineName>.ini)"
+file. 
+.IP "\fBSaveFile\fR (default: PG_<EngineName>.ini)" 4
+.IX Item "SaveFile (default: PG_<EngineName>.ini)"
 The name of the file from which to take the additional options.
+You can safely edit this file. 
 .Sh "Work arounds"
 .IX Subsection "Work arounds"
 Work arounds are identical to options except that they should be used
index 096aa9a..3c544fb 100644 (file)
@@ -515,14 +515,15 @@ process is allowed to run on. This option works only on Windows.
 
 =item B<SaveSettingsOnExit> (default: true)
 
-If true then PolyGlot will implement persistence by loading its
+If true then PolyGlot will implement persistence by loading 
 options from an additional INI file which is specified by the option
 "SaveFile". At exit PolyGlot will also save its options to this INI
-file.
+file. 
 
-=item B<SaveFile> (default: <EngineName>.ini)
+=item B<SaveFile> (default: PG_<EngineName>.ini)
 
 The name of the file from which to take the additional options.
+You can safely edit this file. 
 
 =back
 
index 013cb68..4054d4e 100644 (file)
@@ -1,6 +1,6 @@
 Summary: A Winboard protocol to UCI protocol adapter
 Name: polyglot
-Version: 1.4.39b
+Version: 1.4.41b
 Release: 1
 License: GPL
 Group: Amusement/Games