str2sci.c

Go to the documentation of this file.
00001 #include <string.h>
00002 #include "stack-c.h"
00003 #include "machine.h"
00004 #include "str2sci.h"
00005 
00006 void str2sci(char** x,int n,int m)
00007 {
00008       
00009   int l=0,il=0,zero=0,err,n1,i,m1=0;
00010       
00011   if (Top >= Bot) {
00012     i=18;
00013     C2F(error)(&i);
00014   } else {
00015     Top = Top + 1;
00016     il = iadr(*Lstk(Top));
00017     l = sadr(il+6);
00018   }
00019   
00020   err = l + n*m - *Lstk(Bot);
00021   if (err > 0) {
00022     i=17;
00023     C2F(error)(&i);
00024     return;
00025   }
00026   *istk(il) = 10;
00027   *istk(il+1) = n;
00028   *istk(il+2) = m;
00029   *istk(il+3) = 0;
00030   *istk(il+4) = 1;
00031   for (i = 1; i <= n*m; i++){
00032           n1=strlen(x[i-1]);
00033           *istk(il+4+i) =  *istk(il+4+i-1)+n1;
00034           if (n1 > 0) 
00035                   C2F(cvstr)(&n1,istk(il+m*n+5 -1 + *istk(il+3+i)),x[i-1],&zero,(unsigned long) n1);
00036           m1=m1+n1;
00037   }
00038   *Lstk(Top+1) = l + m1;      
00039                 
00040 } 
00041       

Generated on Sun Mar 4 15:03:48 2007 for Scilab [trunk] by  doxygen 1.5.1