diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index 02d8545fb..2dfe6df9f 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -3076,6 +3076,22 @@ int multiSlsDetector::readConfigurationFile(string const fname){ + int nd=thisMultiDetector->numberOfDetectors; + + for (int i=0; ifreeSharedMemory(); + } + } + thisMultiDetector->numberOfDetectors=0; + + + + + + + multiSlsDetectorClient *cmd; char ext[100]; @@ -3086,11 +3102,10 @@ int multiSlsDetector::readConfigurationFile(string const fname){ ifstream infile; int iargval; int interrupt=0; - char *args[100]; - for (int ia=0; ia<100; ia++) { - args[ia]=new char[1000]; - } - + char *args[1000]; + + char myargs[1000][1000]; + string sargname, sargval; int iline=0; @@ -3127,10 +3142,23 @@ int multiSlsDetector::readConfigurationFile(string const fname){ #ifdef VERBOSE std::cout<< iargval << " " << sargname << std::endl; #endif - strcpy(args[iargval],sargname.c_str()); + + strcpy(myargs[iargval], sargname.c_str()); + args[iargval]=myargs[iargval]; + +#ifdef VERBOSE + std::cout<< "--" << iargval << " " << args[iargval] << std::endl; +#endif + iargval++; //} } + +#ifdef VERBOSE + cout << endl; + for (int ia=0; ia> sargname; // if (ssstr.good()) { - strcpy(args[iargval],sargname.c_str()); + strcpy(myargs[iargval],sargname.c_str()); #ifdef VERBOSE std::cout<< args[iargval] << std::endl; #endif