bug 6901 79/179/2
Allan CORNET [Tue, 20 Apr 2010 14:56:16 +0000 (16:56 +0200)]
Change-Id: I665847704be71c3076b331df3805a3ed3937be02

scilab/CHANGES_5.3.X
scilab/modules/fileio/src/c/filesmanagement.c
scilab/modules/functions/sci_gateway/c/sci_exec.c
scilab/modules/functions/tests/nonreg_tests/bug_6901.dia.ref [new file with mode: 0644]
scilab/modules/functions/tests/nonreg_tests/bug_6901.tst [new file with mode: 0644]

index a35d1dd..25a7bf1 100644 (file)
@@ -213,5 +213,7 @@ Bug fixes:
 
 * bug 6891 fixed - 'whos' did not display global variables.
 
+* bug 6901 fixed - This script with 'exec' produced a weird warning.
+
 * bug 6947 fixed - Some demos in "Optimization and Simulation" failed, 
                    without write rights in SCI subdirectory.
index c9c73f2..83068c1 100644 (file)
@@ -266,7 +266,12 @@ BOOL IsAlreadyOpenedInScilab(char *filename)
        if (ScilabFileList)
        {
                char fullpath[PATH_MAX*4];
-               int i=0;
+               int i = 0;
+
+        if ((strcmp(filename, "") == 0) || (filename == NULL))
+        {
+            return FALSE;
+        }
 
                if( get_full_path( fullpath, filename, PATH_MAX*4 ) == NULL )
                {
index f3494d6..48e6c09 100644 (file)
@@ -234,7 +234,7 @@ int C2F(sci_exec)(char *fname,unsigned long fname_len)
                                                char *pStVarThree = NULL;
                                                int lenStVarThree = 0;
 
-                                               sciErr = getMatrixOfString(pvApiCtx, piAddressVarOne,&m3,&n3,&lenStVarThree,&pStVarThree);
+                                               sciErr = getMatrixOfString(pvApiCtx, piAddressVarThree, &m3, &n3, &lenStVarThree, &pStVarThree);
                                                if(sciErr.iErr)
                                                {
                                                        printError(&sciErr, 0);
@@ -244,7 +244,7 @@ int C2F(sci_exec)(char *fname,unsigned long fname_len)
                                                pStVarThree = (char*)MALLOC(sizeof(char)*(lenStVarThree + 1));
                                                if (pStVarThree)
                                                {
-                                                       sciErr = getMatrixOfString(pvApiCtx, piAddressVarThree,&m3,&n3,&lenStVarThree,&pStVarThree);
+                                                       sciErr = getMatrixOfString(pvApiCtx, piAddressVarThree, &m3, &n3, &lenStVarThree, &pStVarThree);
                                                        if(sciErr.iErr)
                                                        {
                                                                printError(&sciErr, 0);
diff --git a/scilab/modules/functions/tests/nonreg_tests/bug_6901.dia.ref b/scilab/modules/functions/tests/nonreg_tests/bug_6901.dia.ref
new file mode 100644 (file)
index 0000000..5105c7d
--- /dev/null
@@ -0,0 +1,15 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- JVM NOT MANDATORY -->
+// <-- Non-regression test for bug 6901 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=6901
+//
+// <-- Short Description -->
+// This script with 'exec' produced a weird warning
+if ierr <> 241 then bugmes();quit;end
diff --git a/scilab/modules/functions/tests/nonreg_tests/bug_6901.tst b/scilab/modules/functions/tests/nonreg_tests/bug_6901.tst
new file mode 100644 (file)
index 0000000..211fb43
--- /dev/null
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- JVM NOT MANDATORY -->
+
+// <-- Non-regression test for bug 6901 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=6901
+//
+// <-- Short Description -->
+// This script with 'exec' produced a weird warning
+
+mputl("exec("""", -1);", TMPDIR + "/bug.sce");
+ierr = execstr("exec(TMPDIR + ''/bug.sce'');", "errcatch");
+if ierr <> 241 then pause,end