Browse Source

修改取string参数的默认值处理,返回“”而不是NULL,防止异常

shishenghui 1 week ago
parent
commit
288f1ac84c

+ 6 - 4
TIN001-PLC/Jet_Furance_PMC/Jet_Furance_PMC/Jet_Furance_PMC/FurancePMC/SC.cpp

@@ -12,10 +12,12 @@
 const char* CSC::getStringValue(const char* name,const char* defaultValue){
     char  *find =  (char *)stringConfig.get(name);
     if (find == NULL) {
+        
+        static char buffer[MAX_NAME_LEN];
         if (defaultValue == NULL) {
-            return NULL;
+            buffer[0] = '\0';
+            return buffer;
         }
-        static char buffer[MAX_NAME_LEN];
         strcpy(buffer, defaultValue);
         stringConfig.set(name, buffer,__FILE__,__LINE__);
         return (char*)stringConfig.get(name);
@@ -44,7 +46,7 @@ PMCBOOL CSC::isVP(const char* s)
     }
     return FALSE;
 }
-char* CSC::getBaseName(const char* s,const char split)
+const char* CSC::getBaseName(const char* s,const char split)
 {
     static char retBuf[MAX_NAME_LEN];
     retBuf[0] = '\0';
@@ -57,7 +59,7 @@ char* CSC::getBaseName(const char* s,const char split)
         }
         i++;
     }
-    return retBuf;
+    return s;
 }
 
 CSC *SC;