Loading ndb/src/common/mgmcommon/LocalConfig.cpp +24 −22 Original line number Diff line number Diff line Loading @@ -229,7 +229,7 @@ LocalConfig::parseString(const char * connectString, char *line){ bool LocalConfig::readFile(const char * filename, bool &fopenError) { char line[150], line2[150]; char line[1024]; fopenError = false; Loading @@ -241,31 +241,33 @@ bool LocalConfig::readFile(const char * filename, bool &fopenError) return false; } unsigned int sz = 1024; char* theString = (char*)NdbMem_Allocate(sz); theString[0] = 0; BaseString theString; fgets(theString, sz, file); while (fgets(line+1, 100, file)) { line[0] = ';'; while (strlen(theString) + strlen(line) >= sz) { sz = sz*2; char *newString = (char*)NdbMem_Allocate(sz); strcpy(newString, theString); free(theString); theString = newString; while(fgets(line, 1024, file)){ BaseString tmp(line); tmp.trim(" \t\n\r"); if(tmp.length() > 0 && tmp.c_str()[0] != '#'){ theString.append(tmp); break; } } while (fgets(line, 1024, file)) { BaseString tmp(line); tmp.trim(" \t\n\r"); if(tmp.length() > 0 && tmp.c_str()[0] != '#'){ theString.append(";"); theString.append(tmp); } strcat(theString, line); } bool return_value = parseString(theString, line); bool return_value = parseString(theString.c_str(), line); if (!return_value) { snprintf(line2, 150, "Reading %s: %s", filename, line); setError(0,line2); BaseString tmp; tmp.assfmt("Reading %s: %s", filename, line); setError(0, tmp.c_str()); } free(theString); fclose(file); return return_value; } Loading Loading
ndb/src/common/mgmcommon/LocalConfig.cpp +24 −22 Original line number Diff line number Diff line Loading @@ -229,7 +229,7 @@ LocalConfig::parseString(const char * connectString, char *line){ bool LocalConfig::readFile(const char * filename, bool &fopenError) { char line[150], line2[150]; char line[1024]; fopenError = false; Loading @@ -241,31 +241,33 @@ bool LocalConfig::readFile(const char * filename, bool &fopenError) return false; } unsigned int sz = 1024; char* theString = (char*)NdbMem_Allocate(sz); theString[0] = 0; BaseString theString; fgets(theString, sz, file); while (fgets(line+1, 100, file)) { line[0] = ';'; while (strlen(theString) + strlen(line) >= sz) { sz = sz*2; char *newString = (char*)NdbMem_Allocate(sz); strcpy(newString, theString); free(theString); theString = newString; while(fgets(line, 1024, file)){ BaseString tmp(line); tmp.trim(" \t\n\r"); if(tmp.length() > 0 && tmp.c_str()[0] != '#'){ theString.append(tmp); break; } } while (fgets(line, 1024, file)) { BaseString tmp(line); tmp.trim(" \t\n\r"); if(tmp.length() > 0 && tmp.c_str()[0] != '#'){ theString.append(";"); theString.append(tmp); } strcat(theString, line); } bool return_value = parseString(theString, line); bool return_value = parseString(theString.c_str(), line); if (!return_value) { snprintf(line2, 150, "Reading %s: %s", filename, line); setError(0,line2); BaseString tmp; tmp.assfmt("Reading %s: %s", filename, line); setError(0, tmp.c_str()); } free(theString); fclose(file); return return_value; } Loading