예제 #1
0
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;  
	}
예제 #2
0
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 ;
		}
	}
예제 #3
0
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;
}
예제 #4
0
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 ;
		}
	}
예제 #5
0
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 ;
		}
	}
예제 #6
0
// -----------------------------------------------------------------------------
//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 ;
		}
	}