Lines Matching refs:fn
873 static Sfoff_t file_offset(Shell_t *shp, int fn, char *fname)
875 Sfio_t *sp = shp->sftable[fn];
882 endf.fd = fn;
968 int trunc=0, clexec=0, fn, traceon;
980 fn = (iof&IOUFD);
981 if(fn==1 && shp->subshell && !shp->subshare && (flag==2 || isstring))
1030 fn = nv_getnum(np);
1142 else if((iof&IOREWRITE) && (flag==0 || flag==1 || sh_subsavefd(fn)))
1216 Sfio_t *sp = shp->sftable[fn];
1217 r = shp->fdstatus[fn];
1219 r = sh_iocheckfd(shp,fn);
1220 sfsprintf(io_op,sizeof(io_op),"%d\0",fn);
1236 if((off = file_offset(shp,fn,fname))<0)
1244 off=lseek(fn, off, SEEK_SET);
1263 sp = sh_iostream(shp,fn);
1267 /* close stream but not fn */
1275 return(fn);
1282 if(fd==fn)
1287 sh_close(fn);
1290 sh_iosave(shp,fn,indx,tname?fname:(trunc?Empty:0));
1292 else if(sh_subsavefd(fn))
1293 sh_iosave(shp,fn,indx|IOSUBSHELL,tname?fname:0);
1297 if(sh_inuse(fn) || (fn && fn==shp->infd))
1299 if(fn>9 || !(shp->inuse_bits&(1<<fn)))
1300 io_preserve(shp,shp->sftable[fn],fn);
1302 sh_close(fn);
1311 fn = fd;
1314 if((fn=fcntl(fd,F_DUPFD,10)) < 0)
1316 shp->fdstatus[fn] = shp->fdstatus[fd];
1318 fd = fn;
1322 v = fn;
1328 fd = sh_iorenumber(shp,sh_iomovefd(fd),fn);
1329 if(fn>2 && fn<10)
1330 shp->inuse_bits |= (1<<fn);