check getAllocatedMatrixOfString & getAllocatedSingleString 95/6195/1
Allan CORNET [Thu, 9 Feb 2012 15:11:27 +0000 (16:11 +0100)]
Change-Id: Ia9d368e4cb9ccf189930d037e5846f6578e315b4

21 files changed:
scilab/modules/xml/sci_gateway/cpp/sci_percent_XMLAttr_e.cpp
scilab/modules/xml/sci_gateway/cpp/sci_percent_XMLAttr_size.cpp
scilab/modules/xml/sci_gateway/cpp/sci_percent_XMLList_e.cpp
scilab/modules/xml/sci_gateway/cpp/sci_percent_XMLList_size.cpp
scilab/modules/xml/sci_gateway/cpp/sci_percent_c_i_XMLAttr.cpp
scilab/modules/xml/sci_gateway/cpp/sci_percent_foo_i_XMLList.cpp
scilab/modules/xml/sci_gateway/cpp/sci_percent_s_i_XMLList.cpp
scilab/modules/xml/sci_gateway/cpp/sci_xmlDelete.cpp
scilab/modules/xml/sci_gateway/cpp/sci_xmlDocument.cpp
scilab/modules/xml/sci_gateway/cpp/sci_xmlElement.cpp
scilab/modules/xml/sci_gateway/cpp/sci_xmlGetNsByHref.cpp
scilab/modules/xml/sci_gateway/cpp/sci_xmlGetNsByPrefix.cpp
scilab/modules/xml/sci_gateway/cpp/sci_xmlIsValidObject.cpp
scilab/modules/xml/sci_gateway/cpp/sci_xmlNs.cpp
scilab/modules/xml/sci_gateway/cpp/sci_xmlRead.cpp
scilab/modules/xml/sci_gateway/cpp/sci_xmlValidate.cpp
scilab/modules/xml/sci_gateway/cpp/sci_xmlValidationFile.cpp
scilab/modules/xml/sci_gateway/cpp/sci_xmlWrite.cpp
scilab/modules/xml/sci_gateway/cpp/sci_xmlXPath.cpp
scilab/modules/xml/src/cpp/extraction.hpp
scilab/modules/xml/src/cpp/insertion.hpp

index 04c6064..03b2f76 100644 (file)
@@ -72,7 +72,11 @@ int sci_percent_XMLAttr_e(char *fname, unsigned long fname_len)
             return 0;
         }
 
-        getAllocatedSingleString(pvApiCtx, prefixaddr, &prefix);
+        if (getAllocatedSingleString(pvApiCtx, prefixaddr, &prefix) != 0)
+        {
+            Scierror(999, _("%s: No more memory.\n"), fname);
+            return 0;
+        }
 
         if (Rhs == 3)
         {
@@ -92,7 +96,11 @@ int sci_percent_XMLAttr_e(char *fname, unsigned long fname_len)
                 return 0;
             }
 
-            getAllocatedSingleString(pvApiCtx, nameaddr, &name);
+            if (getAllocatedSingleString(pvApiCtx, nameaddr, &name) != 0)
+            {
+                Scierror(999, _("%s: No more memory.\n"), fname);
+                return 0;
+            }
         }
     }
 
index 8562d60..6b98981 100644 (file)
@@ -78,7 +78,11 @@ int sci_percent_XMLAttr_size(char *fname, unsigned long fname_len)
             Scierror(999, gettext("%s: Wrong type for input argument #%d: A string expected.\n"), fname, 2);
             return 0;
         }
-        getAllocatedSingleString(pvApiCtx, addr, &option);
+        if (getAllocatedSingleString(pvApiCtx, addr, &option) != 0)
+        {
+            Scierror(999, _("%s: No more memory.\n"), fname);
+            return 0;
+        }
 
         if (strcmp(option, "r") && strcmp(option, "c") && strcmp(option, "*"))
         {
index c55f741..f5355a8 100644 (file)
@@ -78,7 +78,11 @@ int sci_percent_XMLList_e(char *fname, unsigned long fname_len)
             return 0;
         }
 
-        getAllocatedSingleString(pvApiCtx, daddr, &field);
+        if (getAllocatedSingleString(pvApiCtx, daddr, &field) != 0)
+        {
+            Scierror(999, _("%s: No more memory.\n"), fname);
+            return 0;
+        }
         err = getVarAddressFromPosition(pvApiCtx, 2, &mlistaddr);
         if (err.iErr)
         {
index 40a0a66..557afd0 100644 (file)
@@ -77,7 +77,11 @@ int sci_percent_XMLList_size(char *fname, unsigned long fname_len)
             Scierror(999, gettext("%s: Wrong type for input argument #%d: A string expected.\n"), fname, 2);
             return 0;
         }
-        getAllocatedSingleString(pvApiCtx, addr, &option);
+        if (getAllocatedSingleString(pvApiCtx, addr, &option) != 0)
+        {
+            Scierror(999, _("%s: No more memory.\n"), fname);
+            return 0;
+        }
 
         if (strcmp(option, "r") && strcmp(option, "c") && strcmp(option, "*"))
         {
@@ -87,7 +91,7 @@ int sci_percent_XMLList_size(char *fname, unsigned long fname_len)
         }
     }
 
-    size = (double)list->getSize();
+    size = (int)list->getSize();
     if (Rhs == 1)
     {
         d[1] = size;
index c8027d4..b8cb3e8 100644 (file)
@@ -76,7 +76,11 @@ int sci_percent_c_i_XMLAttr(char *fname, unsigned long fname_len)
             return 0;
         }
 
-        getAllocatedSingleString(pvApiCtx, prefixaddr, &prefix);
+        if (getAllocatedSingleString(pvApiCtx, prefixaddr, &prefix) != 0)
+        {
+            Scierror(999, _("%s: No more memory.\n"), fname);
+            return 0;
+        }
 
         if (Rhs == 4)
         {
@@ -96,7 +100,11 @@ int sci_percent_c_i_XMLAttr(char *fname, unsigned long fname_len)
                 return 0;
             }
 
-            getAllocatedSingleString(pvApiCtx, nameaddr, &name);
+            if (getAllocatedSingleString(pvApiCtx, nameaddr, &name) != 0)
+            {
+                Scierror(999, _("%s: No more memory.\n"), fname);
+                return 0;
+            }
         }
     }
 
@@ -162,7 +170,11 @@ int sci_percent_c_i_XMLAttr(char *fname, unsigned long fname_len)
         return 0;
     }
 
-    getAllocatedSingleString(pvApiCtx, rhsaddr, &value);
+    if (getAllocatedSingleString(pvApiCtx, rhsaddr, &value) != 0)
+    {
+        Scierror(999, _("%s: No more memory.\n"), fname);
+        return 0;
+    }
 
     if (Rhs == 3)
     {
index 6d3b206..9d97e6a 100644 (file)
@@ -120,7 +120,11 @@ int sci_percent_foo_i_XMLList(char *fname, unsigned long fname_len)
             return 0;
         }
 
-        getAllocatedSingleString(pvApiCtx, retaddr, &retstr);
+        if (getAllocatedSingleString(pvApiCtx, retaddr, &retstr) != 0)
+        {
+            Scierror(999, _("%s: No more memory.\n"), fname);
+            return 0;
+        }
         if (retstr)
         {
             a->setElementAtPosition(index, std::string(retstr));
index 1e4f27e..d609a5b 100644 (file)
@@ -121,7 +121,11 @@ int sci_percent_s_i_XMLList(char *fname, unsigned long fname_len)
             return 0;
         }
 
-        getAllocatedSingleString(pvApiCtx, retaddr, &retstr);
+        if (getAllocatedSingleString(pvApiCtx, retaddr, &retstr) != 0)
+        {
+            Scierror(999, _("%s: No more memory.\n"), fname);
+            return 0;
+        }
         if (retstr)
         {
             a->setElementAtPosition(index, std::string(retstr));
index d548450..54a7aaa 100644 (file)
@@ -55,7 +55,11 @@ int sci_xmlDelete(char *fname, unsigned long fname_len)
 
     if (isStringType(pvApiCtx, addr))
     {
-        getAllocatedSingleString(pvApiCtx, addr, &com);
+        if (getAllocatedSingleString(pvApiCtx, addr, &com) != 0)
+        {
+            Scierror(999, _("%s: No more memory.\n"), fname);
+            return 0;
+        }
         if (!strcmp(com, "all"))
         {
             org_modules_xml::XMLDocument::closeAllDocuments();
index 6f9b37f..48ee77b 100644 (file)
@@ -56,7 +56,11 @@ int sci_xmlDocument(char *fname, unsigned long fname_len)
             return 0;
         }
 
-        getAllocatedSingleString(pvApiCtx, addr, vars[i]);
+        if (getAllocatedSingleString(pvApiCtx, addr, vars[i]) != 0)
+        {
+            Scierror(999, _("%s: No more memory.\n"), fname);
+            return 0;
+        }
     }
 
     doc = new org_modules_xml::XMLDocument(uri, version);
index 1f69fbb..75d765d 100644 (file)
@@ -74,7 +74,11 @@ int sci_xmlElement(char *fname, unsigned long fname_len)
         return 0;
     }
 
-    getAllocatedSingleString(pvApiCtx, addr, &name);
+    if (getAllocatedSingleString(pvApiCtx, addr, &name) != 0)
+    {
+        Scierror(999, _("%s: No more memory.\n"), fname);
+        return 0;
+    }
 
     if (!strlen(name) || xmlValidateName((const xmlChar *)name, 0))
     {
index 0a4f095..00b49b5 100644 (file)
@@ -73,7 +73,11 @@ int sci_xmlGetNsByHref(char *fname, unsigned long fname_len)
         return 0;
     }
 
-    getAllocatedSingleString(pvApiCtx, addr, &href);
+    if (getAllocatedSingleString(pvApiCtx, addr, &href) != 0)
+    {
+        Scierror(999, _("%s: No more memory.\n"), fname);
+        return 0;
+    }
 
     if (!strlen(href))
     {
index 0a89bab..99f598e 100644 (file)
@@ -73,7 +73,11 @@ int sci_xmlGetNsByPrefix(char *fname, unsigned long fname_len)
         return 0;
     }
 
-    getAllocatedSingleString(pvApiCtx, addr, &href);
+    if (getAllocatedSingleString(pvApiCtx, addr, &href) != 0)
+    {
+        Scierror(999, _("%s: No more memory.\n"), fname);
+        return 0;
+    }
     if (!strlen(href))
     {
         freeAllocatedSingleString(href);
index 3d4b1b8..e280022 100644 (file)
@@ -55,7 +55,11 @@ int sci_xmlIsValidObject(char *fname, unsigned long fname_len)
 
     if (isStringType(pvApiCtx, addr))
     {
-        getAllocatedMatrixOfString(pvApiCtx, addr, &row, &col, &vars);
+        if (getAllocatedMatrixOfString(pvApiCtx, addr, &row, &col, &vars) != 0)
+        {
+            Scierror(999, _("%s: No more memory.\n"), fname);
+            return 0;
+        }
         exists = new int[row * col];
 
         for (int i = 0; i < row * col; i++)
index 628eba8..48243e0 100644 (file)
@@ -78,7 +78,11 @@ int sci_xmlNs(char *fname, unsigned long fname_len)
             return 0;
         }
 
-        getAllocatedSingleString(pvApiCtx, addr, vars[i]);
+        if (getAllocatedSingleString(pvApiCtx, addr, vars[i]) != 0)
+        {
+            Scierror(999, _("%s: No more memory.\n"), fname);
+            return 0;
+        }
     }
 
     ns = new XMLNs(*elem, prefix, href);
index 433c775..33d1f73 100644 (file)
@@ -57,7 +57,11 @@ int sci_xmlRead(char *fname, unsigned long fname_len)
         Scierror(999, gettext("%s: Wrong type for input argument #%d: A string expected.\n"), fname, 1);
         return 0;
     }
-    getAllocatedSingleString(pvApiCtx, addr, &path);
+    if (getAllocatedSingleString(pvApiCtx, addr, &path) != 0)
+    {
+        Scierror(999, _("%s: No more memory.\n"), fname);
+        return 0;
+    }
 
     if (Rhs == 2)
     {
index 240ef51..9d089f8 100644 (file)
@@ -59,7 +59,11 @@ int sci_xmlValidate(char *fname, unsigned long fname_len)
 
     if (isStringType(pvApiCtx, addr))
     {
-        getAllocatedMatrixOfString(pvApiCtx, addr, &row, &col, &path);
+        if (getAllocatedMatrixOfString(pvApiCtx, addr, &row, &col, &path) != 0)
+        {
+            Scierror(999, _("%s: No more memory.\n"), fname);
+            return 0;
+        }
     }
     else if (isXMLDoc(addr, pvApiCtx))
     {
index 95c491f..b8e0353 100644 (file)
@@ -58,7 +58,11 @@ template < class T > int sci_xmlValidationFile(char *fname, void *pvApiCtx)
         Scierror(999, gettext("%s: Wrong type for input argument #%d: A string expected.\n"), fname, 1);
         return 0;
     }
-    getAllocatedSingleString(pvApiCtx, addr, &path);
+    if (getAllocatedSingleString(pvApiCtx, addr, &path) != 0)
+    {
+        Scierror(999, _("%s: No more memory.\n"), fname);
+        return 0;
+    }
 
     validation = new T((const char *)path, &error);
     freeAllocatedSingleString(path);
index e7c3c67..118d7a3 100644 (file)
@@ -94,7 +94,11 @@ int sci_xmlWrite(char *fname, unsigned long fname_len)
 
         if (isStringType(pvApiCtx, addr))
         {
-            getAllocatedSingleString(pvApiCtx, addr, &path);
+            if (getAllocatedSingleString(pvApiCtx, addr, &path) != 0)
+            {
+                Scierror(999, _("%s: No more memory.\n"), fname);
+                return 0;
+            }
 
             if (!strlen(path))
             {
index 6e75293..c9dfab0 100644 (file)
@@ -101,7 +101,11 @@ int sci_xmlXPath(char *fname, unsigned long fname_len)
         Scierror(999, gettext("%s: Wrong type for input argument #%d: A string expected.\n"), fname, 2);
         return 0;
     }
-    getAllocatedSingleString(pvApiCtx, addr, &query);
+    if (getAllocatedSingleString(pvApiCtx, addr, &query) != 0)
+    {
+        Scierror(999, _("%s: No more memory.\n"), fname);
+        return 0;
+    }
 
     if (Rhs == 3)
     {
@@ -137,7 +141,11 @@ int sci_xmlXPath(char *fname, unsigned long fname_len)
             return 0;
         }
 
-        getAllocatedMatrixOfString(pvApiCtx, addr, &row, &col, &namespaces);
+        if (getAllocatedMatrixOfString(pvApiCtx, addr, &row, &col, &namespaces) != 0)
+        {
+            Scierror(999, _("%s: No more memory.\n"), fname);
+            return 0;
+        }
     }
 
     xpath = doc->makeXPathQuery(const_cast < const char *>(query), namespaces, row, where, &error);
index 992911d..efd544d 100644 (file)
@@ -271,7 +271,11 @@ int sci_extraction(char * fname, void *pvApiCtx)
         return 0;
     }
 
-    getAllocatedSingleString(pvApiCtx, fieldaddr, &field);
+    if (getAllocatedSingleString(pvApiCtx, fieldaddr, &field) != 0)
+    {
+        Scierror(999, _("%s: No more memory.\n"), fname);
+        return 0;
+    }
     id = getXMLObjectId(mlistaddr, pvApiCtx);
 
     t = XMLObject::getFromId<T>(id);
index b69e316..5bee546 100644 (file)
@@ -206,7 +206,11 @@ int sci_insertion(char * fname, void* pvApiCtx)
         return 0;
     }
 
-    getAllocatedSingleString(pvApiCtx, fieldaddr, &field);
+    if (getAllocatedSingleString(pvApiCtx, fieldaddr, &field) != 0)
+    {
+        Scierror(999, _("%s: No more memory.\n"), fname);
+        return 0;
+    }
     lhsid = getXMLObjectId(lhsaddr, pvApiCtx);
 
     a = XMLObject::getFromId<T>(lhsid);