Localization (fileio)
[scilab.git] / scilab / modules / fileio / macros / mputl.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) INRIA
3 //
4 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING, which
6 // you should have received as part of this distribution.  The terms
7 // are also available at
8 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9
10 function mputl(str,fd)
11 [lhs,rhs]=argn()
12 np=5000 //pack size
13
14 CR=ascii(13); LF=ascii(10); 
15 if MSDOS then
16   newline = LF;
17   str = strcat(str + newline);
18  
19 else
20   newline=LF;
21   str=strcat(str,newline)+newline
22   
23 end
24
25 n=length(str);
26 mp=floor(n/np);
27
28 if rhs==1 then //write to last opened file
29   k1=1;
30   for i=1:mp
31     mput(ascii(part(str,k1:k1+np)),'uc');
32     k1=k1+np+1;
33   end  
34   mput(ascii(part(str,k1:n)),'uc');
35 else
36   if type(fd)==10 then // file given by its path
37     opened=%t;
38     fil=fd;
39     [fd,ierr]=mopen(fil,'wb');
40     if ierr~=0 then 
41       error(msprintf(gettext("%s: Cannot open file %s.\n"),'mputl',fil));
42     end
43   else // file given by its logical unit
44     opened=%f;
45   end
46   k1=1
47   for i=1:mp
48     mput(ascii(part(str,k1:k1+np)),'uc',fd);
49     k1=k1+np+1;
50   end  
51   mput(ascii(part(str,k1:n)),'uc',fd);
52   if opened then mclose(fd),end
53 end
54 endfunction