int fstat (int file,struct stat *st) { int size,cur; CHECKFILE(file); cur = sceIoLseek(file,0,SEEK_CUR); size = sceIoLseek(file,0,SEEK_END); sceIoLseek(file,cur,SEEK_SET); memset(st,0,sizeof(*st)); st->st_mode = S_IFREG; st->st_size = size; return 0; }
int close (int file) { CHECKFILE(file); sceIoClose(file); // fh[file]=0; return 0; }
int read (int file,char *ptr,int len){ CHECKFILE(file); return seterrno(sceIoRead(file,ptr,len)); }
int lseek (int file,int ptr,int dir){ CHECKFILE(file); return seterrno(sceIoLseek(file,ptr,dir)); }
static void okfunction(RDArsrc *r) { int y=0,z=0; char *tmp=NULL,*dirx=NULL,*libx=NULL; APPlib *modlst=NULL,*filelst=NULL; readallwidgets(r); FINDRSCGETCHAR(r,"RANGE MODULE",&RangeMod); FINDRSCGETSTRING(r,"FROM MODULE",&FromMod); FINDRSCGETSTRING(r,"TO MODULE",&ToMod); dirx=Rmalloc(RDAstrlen(CURRENTDIRECTORY)+6); #ifndef WIN32 sprintf(dirx,"%s/rda/",CURRENTDIRECTORY); #endif #ifdef WIN32 sprintf(dirx,"%s\\rda\\",CURRENTDIRECTORY); #endif modlst=APPlibNEW(); for(z=0;findfile(dirx,"*.FIL",&tmp,(int)z+1);++z) { tmp[RDAstrlen(tmp)-4]=0; if(RDAstrcmp(tmp,"RPTGEN") && RDAstrcmp(tmp,"OLHELP") && RDAstrcmp(tmp,"CONVERSION") && RDAstrcmp(tmp,"MBGUICONV")) { if(!RangeMod || ((RDAstrcmp(FromMod,tmp)<=0) && RDAstrcmp(tmp,ToMod)<=0)) { addAPPlib(modlst,tmp); } } } if(dirx!=NULL) Rfree(dirx); if(modlst->numlibs<1) { prterr("Error: No modules found (*.FIL's)."); } else { #ifndef WIN32 fp=RDA_popen("rdaout.lnx","w"); #endif #ifdef WIN32 fp=RDA_popen("rdaout.exe","w"); #endif SORTAPPlib(modlst); for(z=0;z<modlst->numlibs;++z) { libx=Rmalloc(RDAstrlen(CURRENTDIRECTORY)+RDAstrlen(modlst->libs[z])+10); #ifndef WIN32 sprintf(libx,"%s/rda/%s.FIL",CURRENTDIRECTORY,modlst->libs[z]); #endif #ifdef WIN32 sprintf(libx,"%s\\rda\\%s.FIL",CURRENTDIRECTORY,modlst->libs[z]); #endif filelst=getlibnames(libx,TRUE); SORTAPPlib(filelst); if(libx!=NULL) Rfree(libx); if(filelst->numlibs>0) { for(y=0;y<filelst->numlibs;++y) { /* RDA_fprintf(fp,"Testing [%s] [%s]\r\n",modlst->libs[z],filelst->libs[y]);TRACE; */ CHECKFILE(modlst->libs[z],filelst->libs[y]); } } if(libx!=NULL) Rfree(libx); if(filelst!=NULL) freeapplib(filelst); } if(cf_errors==0) { RDA_fprintf(fp,"Everything checks out, no cf_errors were found!\r\n"); } if(fp!=NULL) RDA_pclose(fp); } if(modlst!=NULL) freeapplib(modlst); doexit(r); }