tParsing of configuration files relaxed to allow "old-style" (non-quoted) strings - vaccinewars - be a doctor and try to vaccinate the world
 (HTM) git clone git://src.adamsgaard.dk/vaccinewars
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 297d354ef85bc0a228bfece05fe8aad0c7eb35c1
 (DIR) parent b0542e47a9251335615fedb5f2e8f7f5752d1a2b
 (HTM) Author: Ben Webb <ben@salilab.org>
       Date:   Mon, 29 Jan 2001 01:15:55 +0000
       
       Parsing of configuration files relaxed to allow "old-style" (non-quoted) strings
       
       
       Diffstat:
         M src/dopewars.c                      |      20 +++++++++++++++++---
       
       1 file changed, 17 insertions(+), 3 deletions(-)
       ---
 (DIR) diff --git a/src/dopewars.c b/src/dopewars.c
       t@@ -1243,7 +1243,6 @@ gboolean ParseNextConfig(GScanner *scanner) {
              PrintConfigValue(GlobalIndex,index,IndexGiven,scanner);
              return TRUE;
           } else if (token==G_TOKEN_EQUAL_SIGN) {
       -      token=g_scanner_get_next_token(scanner);
              if (CountPlayers(FirstServer)>0) {
                 g_warning(
        _("Configuration can only be changed interactively when no\n"
       t@@ -1359,13 +1358,13 @@ void SetConfigValue(int GlobalIndex,int StructIndex,gboolean IndexGiven,
           int IntVal,NewNum;
           Player *tmp;
           GSList *list,*StartList;
       -   token=scanner->token;
           if (!CheckMaxIndex(scanner,GlobalIndex,StructIndex,IndexGiven)) return;
           if (Globals[GlobalIndex].NameStruct[0]) {
              GlobalName=g_strdup_printf("%s[%d].%s",Globals[GlobalIndex].NameStruct,
                                         StructIndex,Globals[GlobalIndex].Name);
           } else GlobalName=Globals[GlobalIndex].Name;
           if (Globals[GlobalIndex].IntVal) {
       +      token=g_scanner_get_next_token(scanner);
              if (token==G_TOKEN_INT) {
                 IntVal=(int)scanner->value.v_int;
                 if (Globals[GlobalIndex].ResizeFunc) {
       t@@ -1386,6 +1385,7 @@ void SetConfigValue(int GlobalIndex,int StructIndex,gboolean IndexGiven,
                                       NULL,NULL,FALSE); return;
              }
           } else if (Globals[GlobalIndex].PriceVal) {
       +      token=g_scanner_get_next_token(scanner);
              if (token==G_TOKEN_INT) {
                 *((price_t *)GetGlobalPointer(GlobalIndex,StructIndex))=
                                  (price_t)scanner->value.v_int;
       t@@ -1394,14 +1394,28 @@ void SetConfigValue(int GlobalIndex,int StructIndex,gboolean IndexGiven,
                                       NULL,NULL,FALSE); return;
              }
           } else if (Globals[GlobalIndex].StringVal) {
       +      scanner->config->identifier_2_string=TRUE;
       +      scanner->config->cset_identifier_first=
       +          G_CSET_a_2_z " ._0123456789" G_CSET_A_2_Z G_CSET_LATINS G_CSET_LATINC;
       +      scanner->config->cset_identifier_nth=
       +          G_CSET_a_2_z " ._0123456789" G_CSET_A_2_Z G_CSET_LATINS G_CSET_LATINC;
       +      token=g_scanner_get_next_token(scanner);
              if (token==G_TOKEN_STRING) {
                 AssignName((gchar **)GetGlobalPointer(GlobalIndex,StructIndex),
                            scanner->value.v_string);
       +      } else if (token==G_TOKEN_IDENTIFIER) {
       +         AssignName((gchar **)GetGlobalPointer(GlobalIndex,StructIndex),
       +                    scanner->value.v_identifier);
              } else {
                 g_scanner_unexp_token(scanner,G_TOKEN_STRING,NULL,NULL,
       -                               NULL,NULL,FALSE); return;
       +                               NULL,NULL,FALSE);
              }
       +      scanner->config->identifier_2_string=FALSE;
       +      scanner->config->cset_identifier_first=G_CSET_a_2_z "_" G_CSET_A_2_Z;
       +      scanner->config->cset_identifier_nth=
       +              G_CSET_a_2_z "._0123456789" G_CSET_A_2_Z;
           } else if (Globals[GlobalIndex].StringList) {
       +      token=g_scanner_get_next_token(scanner);
              if (IndexGiven) {
                 if (token==G_TOKEN_STRING) {
                    AssignName(&(*(Globals[GlobalIndex].StringList))[StructIndex-1],