File: sci_fopen.sci

package info (click to toggle)
scilab 2.6-4
  • links: PTS
  • area: non-free
  • in suites: woody
  • size: 54,632 kB
  • ctags: 40,267
  • sloc: ansic: 267,851; fortran: 166,549; sh: 10,005; makefile: 4,119; tcl: 1,070; cpp: 233; csh: 143; asm: 135; perl: 130; java: 39
file content (41 lines) | stat: -rw-r--r-- 973 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
function [stk,txt,top]=sci_fopen()
// Copyright INRIA
txt=[]
first=stk(top-rhs+1)
if first(5)=='1' then
  filename=first(1)
elseif first(5)=='10' then
  set_infos('fopen(fid) has no translation',2)
  filename=first(1)
else
  set_infos('fopen(filename,..) assumed',2)
  filename=first(1)
end

if rhs==1 then
  permission='rb'
else
  permission=stk(top-rhs+2)(1)
end
if lhs==1 then
  if lst(ilst+1)(1)=='1' then 
    fid=lhsvarsnames(),
    err=gettempvar()
  else 
    fid=gettempvar(1),
    err=gettempvar(2)
  end
  txt=['['+fid+','+err+'] = mopen('+filename+','+permission+',0)';
      'if '+err+'<0 then '+fid+' = -1;end']
  stk=list(fid,'-2','1','1','1')
else
  [fid,mess]=lhsvarsnames()
  err=gettempvar()
  txt=['['+fid+','+err+'] = mopen('+filename+','+permission+',0)';
      'if '+err+'<0 then '+..
	  fid+' = -1;'+mess+' = ''Cannot open file.'''+..
	  ';else '+mess+' = '''';end']
  stk=list(list(fid,'-2','1','1','1'),..
      list(mess,'-2','1','1','10'))
end