Lines Matching refs:file
24 /* Open a file/string for IO.
38 Sfio_t* _sfopen(Sfio_t* f, const char* file, const char* mode)
40 Sfio_t* _sfopen(f,file,mode)
42 char* file; /* file/string to be opened */
54 if(f && !file && !((f->flags|sflags)&SF_STRING) )
77 if(f->file >= 0 && (oflags &= (O_TEXT|O_BINARY|O_APPEND)) != 0 )
78 { /* set file access control */
79 int ctl = sysfcntlf(f->file, F_GETFL, 0);
81 sysfcntlf(f->file, F_SETFL, ctl);
88 { f = sfnew(f,(char*)file,
89 file ? (size_t)strlen((char*)file) : (size_t)SF_UNBOUND,
93 { if(!file)
96 #if _has_oflags /* open the file */
97 while((fd = sysopenf((char*)file,oflags,SF_CREATMODE)) < 0 && errno == EINTR)
100 while((fd = sysopenf(file,oflags&O_ACCMODE)) < 0 && errno == EINTR)
104 { CLOSE(fd); /* error: file already exists */
107 if(oflags&O_TRUNC ) /* truncate file */
109 while((tf = syscreatf(file,SF_CREATMODE)) < 0 &&
116 { while((fd = syscreatf(file,SF_CREATMODE)) < 0 && errno == EINTR)
119 { /* the file now exists, reopen it for read/write */
121 while((fd = sysopenf(file,oflags&O_ACCMODE)) < 0 &&
130 /* we may have to reset the file descriptor to its old value */
131 oldfd = f ? f->file : -1;