TInt CTestWideApi::wfdopen_ivalm1() { int wfd; int ret_wmkdir = wmkdir(L"C:\\ggg" , S_IWUSR); if(ret_wmkdir) { _LIT(Kerr , "Failed to make dir") ; INFO_PRINTF1(Kerr) ; return KErrGeneral ; } if((wfd=wopen(L"C:\\ggg\\lll.txt", O_WRONLY | O_CREAT | O_TRUNC, 0777))<0) { _LIT(Kopen,"Failed to open file"); INFO_PRINTF1(Kopen); wrmdir(L"C:\\ggg"); return KErrGeneral; } FILE *fp =wfdopen(wfd ,NULL); if(NULL != fp) { wunlink(L"C:\\ggg\\lll.txt"); wrmdir(L"C:\\ggg"); return KErrGeneral; } close(wfd); wunlink(L"C:\\ggg\\lll.txt"); wrmdir(L"C:\\ggg"); return KErrNone; }
TInt CTestWideApi::wfreopen_valinv() { TPtrC nameRead; _LIT( KString, "Parameter1" ); TBool res = GetStringFromConfig(ConfigSection(), KString, nameRead); if(!res) { _LIT(Kerr , "Failed to read string") ; INFO_PRINTF1(Kerr) ; return KErrGeneral ; } int ret_wmkdir = wmkdir(L"C:\\ggg" , S_IWUSR); if((errno == EEXIST) || (!ret_wmkdir)) { TBuf8<100> buf; buf.Copy(nameRead); char* filename = (char*) buf.Ptr(); filename[buf.Length()]='\0'; wchar_t *pathName = (wchar_t *)malloc(30*sizeof(wchar_t)); if(pathName==NULL) { wrmdir(L"C:\\ggg"); return KErrNoMemory; } size_t siz = mbstowcs(pathName, filename, 30); wunlink(pathName) ; FILE *fp = wfreopen(pathName ,L"w",stdout); if(fp == NULL) { _LIT(Kropen , " Failed to reopen file " ) ; INFO_PRINTF1(Kropen) ; wrmdir(L"C:\\ggg"); free(pathName); return KErrNone; } else { wrmdir(L"C:\\ggg"); free(pathName); return KErrGeneral; } } else { _LIT(Kerr , "Failed to make dir") ; INFO_PRINTF1(Kerr) ; return KErrGeneral ; } }
Status DeleteDirectory(const OsPath& path) { // note: we have to recursively empty the directory before it can // be deleted (required by Windows and POSIX rmdir()). CFileInfos files; DirectoryNames subdirectoryNames; RETURN_STATUS_IF_ERR(GetDirectoryEntries(path, &files, &subdirectoryNames)); // delete files for(size_t i = 0; i < files.size(); i++) { const OsPath pathname = path / files[i].Name(); errno = 0; if(wunlink(pathname) != 0) WARN_RETURN(StatusFromErrno()); } // recurse over subdirectoryNames for(size_t i = 0; i < subdirectoryNames.size(); i++) RETURN_STATUS_IF_ERR(DeleteDirectory(path / subdirectoryNames[i])); errno = 0; if(wrmdir(path) != 0) WARN_RETURN(StatusFromErrno()); return INFO::OK; }
TInt CTestWideApi::wfdopen_ivalm() { TPtrC nameRead; _LIT( KString, "Parameter1" ); TBool res = GetStringFromConfig(ConfigSection(), KString, nameRead); if(!res) { _LIT(Kerr , "Failed to read string") ; INFO_PRINTF1(Kerr) ; return KErrGeneral ; } int ret_wmkdir = wmkdir(L"C:\\ggg" , S_IWUSR); if((errno == EEXIST) || (!ret_wmkdir)) { TBuf8<100> buf; int wfd; buf.Copy(nameRead); char* filemode = (char*) buf.Ptr(); filemode[buf.Length()]='\0'; wchar_t *dmode = (wchar_t *)malloc(30*sizeof(wchar_t)); if(dmode==NULL) { wrmdir(L"C:\\ggg"); return KErrNoMemory; } size_t siz = mbstowcs(dmode, filemode, 30); wunlink(L"C:\\ggg\\lll.txt"); if((wfd=wopen(L"C:\\ggg\\lll.txt", O_WRONLY | O_CREAT | O_TRUNC, 0777))<0) { _LIT(Kopen,"Failed to open file"); INFO_PRINTF1(Kopen); wrmdir(L"C:\\ggg"); free(dmode) ; return KErrGeneral; } else { FILE *fp =wfdopen(wfd ,dmode); if(NULL == fp) { _LIT(Kopen,"wfdopen failed"); INFO_PRINTF1(Kopen); close(wfd); wunlink(L"C:\\ggg\\lll.txt"); wrmdir(L"C:\\ggg"); free(dmode) ; return KErrNone; } else { wunlink(L"C:\\ggg\\lll.txt"); wrmdir(L"C:\\ggg"); free(dmode) ; return KErrGeneral; } } } else { _LIT(Kerr , "Failed to make dir") ; INFO_PRINTF1(Kerr) ; wunlink(L"C:\\ggg\\lll.txt"); wrmdir(L"C:\\ggg"); return KErrGeneral ; } }
TInt CTestWideApi::wfreopen_val() { TPtrC nameRead; _LIT( KString, "Parameter1" ); TBool res = GetStringFromConfig(ConfigSection(), KString, nameRead); if(!res) { _LIT(Kerr , "Failed to read string") ; INFO_PRINTF1(Kerr) ; return KErrGeneral ; } int ret_wmkdir = wmkdir(L"C:\\ggg" , S_IWUSR); if((errno == EEXIST) || (!ret_wmkdir)) { TBuf8<100> buf; int wfd; FILE *fp; buf.Copy(nameRead); char c = 'z'; char* filename = (char*) buf.Ptr(); filename[buf.Length()]='\0'; wchar_t *pathName = (wchar_t *)malloc(30*sizeof(wchar_t)); if(pathName==NULL) { wrmdir(L"C:\\ggg"); return KErrNoMemory; } size_t siz = mbstowcs(pathName, filename, 30); wunlink(pathName) ; if((wfd=wopen(pathName, O_WRONLY | O_CREAT | O_TRUNC, 0666))<0) { _LIT(Kopen,"Failed to open file"); INFO_PRINTF1(Kopen); wrmdir(L"C:\\ggg"); free(pathName); return KErrGeneral; } else { write(wfd,&c,1); } close(wfd); if((fp=wfreopen(pathName ,L"r",stdin))==NULL) { _LIT(Kropen , " Failed to reopen file " ) ; INFO_PRINTF1(Kropen) ; wrmdir(L"C:\\ggg"); free(pathName); return KErrGeneral; } char * filen="C:\\tem.txt"; unlink(filen); int fd=open(filen, O_WRONLY | O_CREAT | O_TRUNC, 0666); if(fd<0) { _LIT(Kopen,"Failed to open file"); INFO_PRINTF1(Kopen); wrmdir(L"C:\\ggg"); free(pathName); return KErrGeneral ; } else { write(fd,&c,1); } close(fd); fclose(fp); unlink(filen); wunlink(pathName); wrmdir(L"C:\\ggg"); free(pathName); return KErrNone ; } else { _LIT(Kerr , "Failed to make dir") ; INFO_PRINTF1(Kerr) ; return KErrGeneral ; } }
// ----------------------------------------------------------------------------- //Function Name : wfdopen_val //API Tested : wfdopen //TestCase Description: testing the behaviour of wfdopen for valid arguments // initialized to NULL. // ----------------------------------------------------------------------------- TInt CTestWideApi::wfdopen_val() { TPtrC nameRead; wchar_t *pathName = NULL; _LIT( KString, "Parameter1" ); TBool res = GetStringFromConfig(ConfigSection(), KString, nameRead); if(!res) { _LIT(Kerr , "Failed to read string") ; INFO_PRINTF1(Kerr) ; return KErrGeneral ; } int ret_wmkdir = wmkdir(L"C:\\ggg" , S_IWUSR); if((errno == EEXIST) || (!ret_wmkdir)) { TBuf8<100> buf; int wfd; FILE *fp; buf.Copy(nameRead); char* filename = (char*) buf.Ptr(); filename[buf.Length()]='\0'; pathName = (wchar_t *)malloc(30*sizeof(wchar_t)); if(pathName==NULL) { wrmdir(L"C:\\ggg"); return KErrNoMemory; } size_t siz = mbstowcs(pathName, filename, 30); wunlink(pathName) ; if((wfd=wopen(pathName, O_WRONLY | O_CREAT | O_TRUNC, 0666))<0) { _LIT(Kopen,"Failed to open file"); INFO_PRINTF1(Kopen); wrmdir(L"C:\\ggg"); free(pathName); return KErrGeneral; } else { if(NULL == (fp =wfdopen(wfd ,L"w"))) { _LIT(Kopen,"wfdopen failed"); INFO_PRINTF1(Kopen); wrmdir(L"C:\\ggg"); free(pathName); return KErrGeneral; } char *buffer="Writing to the file"; size_t size=strlen(buffer); if(size!=(fwrite(buffer,1,size,fp))) { _LIT(Kopen,"fwrite failed"); INFO_PRINTF1(Kopen); wrmdir(L"C:\\ggg"); free(pathName); return KErrGeneral; } } fclose(fp); wunlink(pathName); wrmdir(L"C:\\ggg"); free(pathName); return KErrNone; } else { _LIT(Kerr , "Failed to make dir") ; INFO_PRINTF1(Kerr) ; wrmdir(L"C:\\ggg"); return KErrGeneral ; } }