Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Resize the size of the buffer used to store the variables to process.
authorcherierm <cherierm@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 25 Jun 2008 07:46:44 +0000 (07:46 +0000)
committercherierm <cherierm@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 25 Jun 2008 07:46:44 +0000 (07:46 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@5800 48e7efb5-ca39-0410-a469-dd3cf9ba447f

tools/tesh2/src/fstream.c

index 36bb0f1..60a70ac 100644 (file)
@@ -396,13 +396,13 @@ fstream_lex_line(fstream_t fstream, context_t context, xbt_os_mutex_t mutex, con
        char* line2;\r
        variable_t variable;\r
        unsigned int i;\r
-       char exp[VAR_NAME_MAX + 1] = {0};\r
+       char exp[PATH_MAX + 1] = {0};\r
        unit_t unit = fstream->unit;\r
        xbt_dynar_t variables = unit->runner->variables;\r
        char* p= NULL;\r
        char* end = NULL;\r
        char* val = NULL;\r
-       char buff[VAR_NAME_MAX + 1] = {0}; \r
+       char buff[PATH_MAX + 1] = {0}; \r
        size_t len;\r
        char delimiters[4] = {' ', '\t', '\n', '\0'}; \r
        \r
@@ -1267,7 +1267,7 @@ fstream_process_token(fstream_t fstream, context_t context, xbt_os_mutex_t mutex
 \r
                /* translate the command line */\r
 \r
-               char* path;\r
+               char* path = NULL;\r
                char* delimiter;\r
                char command_line[PATH_MAX + 1] = {0};\r
                size_t i = 0;\r
@@ -1275,9 +1275,9 @@ fstream_process_token(fstream_t fstream, context_t context, xbt_os_mutex_t mutex
 \r
                \r
 \r
-               if(strstr(context->command_line,".exe"))\r
-                       strcpy(command_line,context->command_line);\r
-               else\r
+               /*if(strstr(context->command_line,".exe"))\r
+                       strcpy(command_line,context->command_line);*/\r
+               \r
                {\r
                        size_t len;\r
                        \r
@@ -1294,15 +1294,16 @@ fstream_process_token(fstream_t fstream, context_t context, xbt_os_mutex_t mutex
                                        \r
                                i++;\r
                        }\r
-\r
-                       strcat(command_line,".exe");\r
+                       \r
+                       if(!strstr(context->command_line,".exe"))\r
+                               strcat(command_line,".exe");\r
 \r
                        args = strdup(context->command_line + i);\r
                }\r
                \r
-               if(getpath(command_line, &path) && !is_w32_cmd(command_line, fstream->unit->runner->path))\r
+               if(!is_w32_cmd(command_line, fstream->unit->runner->path) && getpath(command_line, &path) < 0)\r
                {\r
-                       ERROR3("[%s] `%s' : NOK (%s)", filepos, context->command_line, error_to_string(ECMDNOTFOUND, 1));\r
+                       ERROR3("[%s] `%s' : NOK (%s)", filepos, command_line, error_to_string(ECMDNOTFOUND, 1));\r
                        unit_set_error(fstream->unit, ECMDNOTFOUND, 1, filepos);\r
                        failure(unit);\r
                        return;\r
@@ -1338,9 +1339,11 @@ fstream_process_token(fstream_t fstream, context_t context, xbt_os_mutex_t mutex
                {\r
                        if(args)\r
                        {\r
+\r
                                context->t_command_line = (char*)calloc(strlen(command_line) + strlen(args) + 1, sizeof(char));\r
                                sprintf(context->t_command_line,"%s%s",command_line, args);\r
 \r
+                       \r
                                free(args);\r
 \r
                        }\r