Merge remote-tracking branch 'origin/master' into YaSp 25/10825/1
Sylvestre Ledru [Thu, 14 Mar 2013 13:38:20 +0000 (14:38 +0100)]
Conflicts:
scilab/modules/Makefile.am
scilab/modules/core/sci_gateway/c/sci_getscilabmode.c
scilab/modules/core/src/c/stack1.c
scilab/modules/differential_equations/sci_gateway/fortran/bjac.f
scilab/modules/differential_equations/sci_gateway/fortran/bjacd.f
scilab/modules/differential_equations/sci_gateway/fortran/bresd.f
scilab/modules/differential_equations/sci_gateway/fortran/bsurfd.f
scilab/modules/fileio/sci_gateway/c/sci_isfile.c
scilab/modules/fileio/src/c/mgetl.c
scilab/modules/functions/macros/genlib.sci
scilab/modules/localization/src/c/setgetlanguage.c
scilab/modules/parallel/Makefile.am
scilab/modules/spreadsheet/sci_gateway/c/sci_csvRead.c
scilab/modules/spreadsheet/src/c/getRange.c
scilab/modules/spreadsheet/src/c/latintoutf.c
scilab/modules/string/sci_gateway/c/sci_strtod.c

Change-Id: I6539cb08611dd355719768071a539a195585049a

23 files changed:
1  2 
scilab/Makefile.am
scilab/Makefile.in
scilab/bin/bin.iss
scilab/modules/Makefile.am
scilab/modules/Makefile.in
scilab/modules/core/src/c/stack1.c
scilab/modules/development_tools/macros/test_run.sci
scilab/modules/differential_equations/tests/unit_tests/dae.tst
scilab/modules/helptools/src/java/org/scilab/modules/helptools/image/ScilabImageConverter.java
scilab/modules/localization/src/c/setgetlanguage.c
scilab/modules/parallel/Makefile.am
scilab/modules/spreadsheet/Makefile.am
scilab/modules/spreadsheet/Makefile.in
scilab/modules/spreadsheet/sci_gateway/c/sci_csvRead.c
scilab/modules/spreadsheet/spreadsheet.vcxproj
scilab/modules/spreadsheet/spreadsheet.vcxproj.filters
scilab/modules/spreadsheet/src/c/csvDefault.c
scilab/modules/spreadsheet/src/c/csvRead.c
scilab/modules/spreadsheet/src/c/csvWrite.c
scilab/modules/spreadsheet/src/c/getRange.c
scilab/modules/spreadsheet/src/c/stringToComplex.c
scilab/modules/umfpack/Makefile.am
scilab/modules/umfpack/Makefile.in

Simple merge
Simple merge
@@@ -69,13 -56,10 +69,10 @@@ Source: bin\pcreposix.dll; DestDir: {ap
  Source: bin\libf2c.lib; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
  Source: bin\lapack.lib; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
  ;
- Source: bin\MALLOC.lib; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
- Source: bin\MALLOC.dll; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
- ;
  Source: bin\scilab_windows.lib; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
  ;
 -Source: bin\Scilex.exe; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
 -Source: bin\WScilex.exe; DestDir: {app}\bin; Components: {#COMPN_SCILAB} and {#COMPN_JVM_MODULE}
 +;Source: bin\YaSpScilex.exe; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
 +;Source: bin\WScilex.exe; DestDir: {app}\bin; Components: {#COMPN_SCILAB} and {#COMPN_JVM_MODULE}
  Source: bin\Dumpexts.exe; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
  Source: bin\f2c.exe; DestDir: {app}\bin; Components: {#COMPN_SCILAB}
  ;
Simple merge
Simple merge
@@@ -160,10 -167,12 +166,12 @@@ int C2F(matsize) (char *fname, int *top
      int m1, n1, lc, it, lr;
  
      if (C2F(getmat) (fname, topk, lw, &it, &m1, &n1, &lr, &lc, fname_len) == FALSE)
+     {
          return FALSE;
+     }
      if (*m != m1 || *n != n1)
      {
 -        Scierror(205, _("%s: Wrong size for argument #%d: (%d,%d) expected.\n"), get_fname(fname, fname_len), Rhs + (*lw - *topk), *m, *n);
 +        Scierror(205, _("%s: Wrong size for argument %d: (%d,%d) expected.\n"), get_fname(fname, fname_len), Rhs + (*lw - *topk), *m, *n);
          return FALSE;
      }
      return TRUE;
@@@ -637,10 -672,12 +671,12 @@@ int C2F(matbsize) (char *fname, int *to
      int m1, n1, lr;
  
      if (C2F(getbmat) (fname, topk, lw, &m1, &n1, &lr, fname_len) == FALSE)
+     {
          return FALSE;
+     }
      if (*m != m1 || *n != n1)
      {
 -        Scierror(205, _("%s: Wrong size for argument #%d: (%d,%d) expected.\n"), get_fname(fname, fname_len), Rhs + (*lw - *topk), *m, *n);
 +        Scierror(205, _("%s: Wrong size for argument %d: (%d,%d) expected.\n"), get_fname(fname, fname_len), Rhs + (*lw - *topk), *m, *n);
          return FALSE;
      }
      return TRUE;
@@@ -661,10 -700,12 +699,12 @@@ static int C2F(getbmati) (char *fname, 
      if (*istk(il) != 4)
      {
          if (*inlistx)
 -            Scierror(999, _("%s: Wrong type for argument #%d (List element: %d): Boolean matrix expected.\n"), get_fname(fname, fname_len),
 +            Scierror(999, _("%s: Wrong type for argument %d (List element: %d): Boolean matrix expected.\n"), get_fname(fname, fname_len),
                       Rhs + (*spos - *topk), *nel);
          else
-             Scierror(208, _("%s: Wrong type for argument %d: Boolean matrix expected.\n"), get_fname(fname, fname_len), Rhs + (*spos - *topk));
+         {
+             Scierror(208, _("%s: Wrong type for argument #%d: Boolean matrix expected.\n"), get_fname(fname, fname_len), Rhs + (*spos - *topk));
+         }
          return FALSE;
      };
      *m = *istk(il + 1);
@@@ -868,10 -923,12 +922,12 @@@ static int C2F(getsparsei) (char *fname
      if (*istk(il) != sci_sparse)
      {
          if (*inlistx)
 -            Scierror(999, _("%s: Wrong type for argument #%d (List element: %d): Sparse matrix expected.\n"), get_fname(fname, fname_len),
 +            Scierror(999, _("%s: Wrong type for argument %d (List element: %d): Sparse matrix expected.\n"), get_fname(fname, fname_len),
                       Rhs + (*spos - *topk), *nellist);
          else
-             Scierror(999, _("%s: Wrong type for argument %d: Sparse matrix expected.\n"), get_fname(fname, fname_len), Rhs + (*spos - *topk));
+         {
+             Scierror(999, _("%s: Wrong type for argument #%d: Sparse matrix expected.\n"), get_fname(fname, fname_len), Rhs + (*spos - *topk));
+         }
          return FALSE;
      }
      *m = *istk(il + 1);
@@@ -2373,6 -2520,35 +2519,7 @@@ int C2F(getwimat) (char *fname, int *to
      return TRUE;
  }
  
 -/*------------------------------------------------------------------
 -*     creation of an object of type pointer at spos position on the stack
 -*     the pointer points to an object of type char matrix created by
 -*     the c routine stringc and is filled with a scilab stringmat
 -*     which was stored at istk(ilorig)
 -*     stk(lw) is used to transmit the pointer
 -*     F: transforme une stringmat scilab en un objet de type
 -*     pointeur qui pointe vers une traduction en C de la stringMat
 -*------------------------------------------------------------------- */
 -
 -int C2F(crestringv) (char *fname, int *spos, int *ilorig, int *lw, unsigned long fname_len)
 -{
 -    int ierr;
 -
 -    if (C2F(crepointer) (fname, spos, lw, fname_len) == FALSE)
 -    {
 -        return FALSE;
 -    }
 -
 -    C2F(stringc) (istk(*ilorig), (char ***)stk(*lw), &ierr);
 -
 -    if (ierr != 0)
 -    {
 -        Scierror(999, _("%s: No more memory.\n"), fname);
 -        return FALSE;
 -    }
 -    return TRUE;
 -}
  /*----------------------------------------------------------
  *  listcrepointer(top,numero,lw,....)
  *---------------------------------------------------------- */
@@@ -2458,10 -2701,12 +2613,12 @@@ int C2F(getlistvectrow) (char *fname, i
      }
  
      if (C2F(getmati) (fname, topk, spos, &ili, it, m, n, lr, lc, &c_true, lnum, fname_len) == FALSE)
+     {
          return FALSE;
+     }
      if (*m != 1)
      {
 -        Scierror(999, _("%s: Wrong type for argument #%d (List element: %d): Row vector expected.\n"), get_fname(fname, fname_len),
 +        Scierror(999, _("%s: Wrong type for argument %d (List element: %d): Row vector expected.\n"), get_fname(fname, fname_len),
                   Rhs + (*spos - *topk), *lnum);
          return FALSE;
      }
@@@ -2628,10 -2887,12 +2799,12 @@@ static int C2F(getpointeri) (char *fnam
          /* used to be sci_lufact_pointer before Scilab 5.2 */
          sciprint("----%d\n", *istk(il));
          if (*inlistx)
 -            Scierror(197, _("%s: Wrong type for argument #%d (List element: %d): Boxed pointer expected.\n"), get_fname(fname, fname_len),
 +            Scierror(197, _("%s: Wrong type for argument %d (List element: %d): Boxed pointer expected.\n"), get_fname(fname, fname_len),
                       Rhs + (*spos - *topk), *nel);
          else
-             Scierror(198, _("%s: Wrong type for argument %d: Boxed pointer expected.\n"), get_fname(fname, fname_len), Rhs + (*spos - *topk));
+         {
+             Scierror(198, _("%s: Wrong type for argument #%d: Boxed pointer expected.\n"), get_fname(fname, fname_len), Rhs + (*spos - *topk));
+         }
          return FALSE;
      }
      *lr = sadr(il + 4);
@@@ -3311,10 -3618,12 +3530,12 @@@ static int C2F(gethmati) (char *fname, 
      if (*istk(il) != sci_handles)
      {
          if (*inlistx)
 -            Scierror(999, _("%s: Wrong type for argument #%d (List element: %d): Matrix of handle expected.\n"), get_fname(fname, fname_len),
 +            Scierror(999, _("%s: Wrong type for argument %d (List element: %d): Matrix of handle expected.\n"), get_fname(fname, fname_len),
                       Rhs + (*spos - *topk), *nel);
          else
-             Scierror(200, _("%s: Wrong type for argument %d: Matrix of handle expected.\n"), get_fname(fname, fname_len), Rhs + (*spos - *topk));
+         {
+             Scierror(200, _("%s: Wrong type for argument #%d: Matrix of handle expected.\n"), get_fname(fname, fname_len), Rhs + (*spos - *topk));
+         }
          return FALSE;
      }
      *m = *istk(il + 1);
@@@ -297,9 -307,9 +297,9 @@@ BOOL exportLocaleToSystem(wchar_t *loca
      if (locale == NULL)
      {
  #ifdef _MSC_VER
 -        fprintf(stderr, "Localization: Have not been able to find a suitable locale. Remains to default %s.\n", "LC_CTYPE");
 +        fprintf(stderr, "Localization: Haven't been able to find a suitable locale. Remains to default %s.\n", "LC_CTYPE");
  #else
-         fprintf(stderr, "Localization: Haven't been able to find a suitable locale. Remains to default %d.\n", EXPORTENVLOCALE);
+         fprintf(stderr, "Localization: Have not been able to find a suitable locale. Remains to default %s.\n", EXPORTENVLOCALESTR);
  #endif
          return FALSE;
      }
  
  #PARALLEL_C_SOURCES =
  
 -GATEWAY_C_SOURCES = sci_gateway/c/gw_parallel.c \
 -sci_gateway/c/sci_parallel_concurrency.c
 +GATEWAY_C_SOURCES = sci_gateway/c/gw_parallel.c
 +#                                     sci_gateway/c/sci_parallel_concurrency.c
  
- libsciparallel_la_CFLAGS= $(OPENMP_CFLAGS) \
- -I$(top_srcdir)/libs/MALLOC/includes/ \
+ libsciparallel_la_CPPFLAGS= $(OPENMP_CXXFLAGS) \
  -I$(srcdir)/includes/ \
 --I$(top_srcdir)/modules/core/includes/ \
 +-I$(top_srcdir)/modules/core/includes \
  -I$(srcdir)/src/cpp/ \
 --I$(top_srcdir)/modules/api_scilab/includes/ \
 --I$(top_srcdir)/modules/localization/includes/ \
 --I$(top_srcdir)/modules/string/includes/ \
 --I$(top_srcdir)/modules/output_stream/includes/ \
 --I$(top_srcdir)/modules/parameters/includes/ \
 --I$(top_srcdir)/modules/dynamic_link/includes/ \
 -$(AM_CPPFLAGS)
 +-I$(top_srcdir)/modules/api_scilab/includes \
 +-I$(top_srcdir)/modules/string/includes \
 +-I$(top_srcdir)/modules/operations/includes \
 +-I$(top_srcdir)/modules/localization/includes
 +
 +libsciparallel_la_CPPFLAGS= $(OPENMP_CXXFLAGS) \
 +-I$(srcdir)/includes/ \
 +-I$(top_srcdir)/modules/core/includes \
 +-I$(srcdir)/src/cpp/ \
 +-I$(top_srcdir)/modules/api_scilab/includes \
 +-I$(top_srcdir)/modules/output_stream/includes \
 +-I$(top_srcdir)/modules/parameters/includes \
 +-I$(top_srcdir)/modules/dynamic_link/includes \
 +-I$(top_srcdir)/modules/operations/includes \
 +-I$(top_srcdir)/modules/system_env/includes
  
  
  pkglib_LTLIBRARIES = libsciparallel.la
  #include "csv_complex.h"
  #include "gw_csv_helpers.h"
  #include "getRange.h"
 +#include "os_strdup.h"
 -static void releaseObjects(csvResult *result, char *filename, char *conversion);
++static void releaseObjects(csvResult *result, char *filename, char *conversion);
  /* ==================================================================== */
  #define CONVTOSTR "string"
  #define CONVTODOUBLE "double"
@@@ -575,3 -560,13 +560,13 @@@ int sci_csvRead(char *fname, void* pvAp
      return 0;
  }
  /* ==================================================================== */
+ static void releaseObjects(csvResult *result, char* filename, char* conversion)
+ {
+     freeCsvResult(result);
+     FREE(filename);
+     filename = NULL;
+     FREE(conversion);
+     conversion = NULL;
 -}
++}
@@@ -82,46 -82,36 +80,36 @@@ char **getRangeAsString(const char **pS
  {
      if (isValidRange(iRange, SIZE_ARRAY_RANGE))
      {
-         char **newStrArray = NULL;
-         int sizeRange = getSizeRange(iRange, nbRows, nbCols);
          int R1, C1, R2, C2;
+         int rangeSize;
  
-         getSubIndices(iRange, &R1, &R2, &C1, &C2 );
+         getSubIndices(iRange, &R1, &R2, &C1, &C2);
  
-         *returnedNbRows = getSizeRows(iRange, nbRows);
-         *returnedNbCols = getSizeCols(iRange, nbCols);
+         *returnedNbRows = getRangeSize(&R1, &R2, nbRows);
+         *returnedNbCols = getRangeSize(&C1, &C2, nbCols);
  
-         newStrArray = (char**)MALLOC(sizeof(char*) * sizeRange);
-         if (newStrArray == NULL)
-         {
-             *returnedNbCols = 0;
-             *returnedNbRows = 0;
-         }
-         else
+         rangeSize = (*returnedNbRows) * (*returnedNbCols);
+         if (rangeSize > 0)
          {
-             int i = 0;
-             int j = 0;
-             int k = 0;
-             if ( C2 > nbCols )
-             {
-                 C2 = nbCols;
-             }
-             if ( R2 > nbRows )
+             char **newStrArray = (char**)MALLOC(sizeof(char*) * rangeSize);
+             if (newStrArray != NULL)
              {
-                 R2 = nbRows;
-             }
+                 int i = 0;
+                 int j = 0;
+                 int k = 0;
  
-             for ( j = C1 - 1 ; j < C2 ; j++)
-             {
-                 for (i = R1 - 1 ; i < R2 ; i++ )
+                 for (j = C1 - 1 ; j < C2 ; j++)
                  {
-                     newStrArray[k] = os_strdup(pStrsValues[i + nbRows * j]);
-                     k++;
+                     for (i = R1 - 1 ; i < R2 ; i++ )
+                     {
 -                        newStrArray[k] = strdup(pStrsValues[i + nbRows * j]);
++                        newStrArray[k] = os_strdup(pStrsValues[i + nbRows * j]);
+                         k++;
+                     }
                  }
              }
+             return newStrArray;
          }
-         return newStrArray;
+         // range is empty, calling function should raise an out of bound error
      }
      return NULL;
  }
Simple merge
Simple merge