/* * This file is automaticaly generated, Please dont edit this file! */ #include struct fileSystem * filesystem; void fileSystem_writeFile( fileSystem * this, char * filepath, char * data ) { FILE *fp = fopen( filepath, "wb" ); if (fp != NULL) { fputs( data, fp ); fclose( fp ); } } struct array * fileSystem_readDir( fileSystem * this, char * filePath ) { DIR * dir; struct dirent * entry; struct array * files = array_newPointer(); if ( ( dir = opendir( filePath ) ) == NULL ){ perror("opendir() error"); } else { while( ( entry = readdir( dir ) ) != NULL ) { char * filename = (char *)entry->d_name; if ( strcmp( filename, ".." ) != 0 && strcmp( filename, "." ) != 0 ) { array_add( files, filename ); } } } return files; } struct text * fileSystem_readFile( fileSystem * this, char * name, char * mode ) { char * readMode; if( char_operator_compare( mode , "utf8") ) { readMode = "r"; } else { readMode = "rb"; } FILE * file = fopen( name, readMode ); if ( file == NULL ) { fprintf( stderr, "Error: Can't open file '%s'.", name ); exit( EXIT_FAILURE ); } fseek( file, 0, SEEK_END ); long length = ftell( file ); fseek( file, 0, SEEK_SET ); char * buffer = malloc( sizeof( char ) * ( length + 1 ) ); fread( buffer, sizeof( char ), length, file ); fclose( file ); if( char_operator_compare( mode , "utf8") ) { buffer[ length ] = 0; } text * output = text_newPointer( "" ); output->length = 0; text_appendBinary( output, buffer, length ); return output; } char * fileSystem_readBinaryFile( fileSystem * this, char * name, char * mode, int * size ) { char * readMode; if( char_operator_compare( mode , "utf8") ) { readMode = "r"; } else { readMode = "rb"; printf("readmode = rb binary\n\n"); } FILE * file = fopen( name, readMode ); if ( file == NULL ) { fprintf( stderr, "Error: Can't open file '%s'.", name ); exit( EXIT_FAILURE ); } fseek( file, 0, SEEK_END ); long length = ftell( file ); printf("buffer length is '%i' \n\n", length); fseek( file, 0, SEEK_SET ); char * buffer = malloc( sizeof( char ) * ( length + 1 ) ); buffer[ length ] = '\0'; fread( buffer, sizeof( char ), length, file ); fclose( file ); *size = length; printf("strlen: %i \n\n", length); return buffer; } int fileSystem_ensureDirectory( fileSystem * this, char * path ) { char * pathCopy = char_copy( path ); struct array * parts = char_split( pathCopy, "/" ); int count = array_length( parts ); for ( int i = 1; i < count; ++i ) { struct array * tempParts = char_split( pathCopy, "/" ); for ( int j = 0; j < count-i-1; ++j ) { array_pop( tempParts ); } char * tempPath = array_join( tempParts, "/" ); if( fileSystem_exists( this, tempPath ) ) { } else { fileSystem_makeDirectory( this, tempPath ); } } return 1; } int fileSystem_makeDirectory( fileSystem * this, char * path ) { if ( fileSystem_exists( this, path ) == NULL ) { mkdir( path, 0700 ); } return 1; } int fileSystem_exists( fileSystem * this, char * path ) { if ( access( path, F_OK ) == 0 ) { return 1; } else { return 0; } } fileSystem fileSystem_new() { fileSystem instance; instance.__classIndex = 11; return instance; } fileSystem * fileSystem_newPointer() { struct fileSystem * pointer = malloc( sizeof ( struct fileSystem ) ); pointer->__classIndex = 11; return pointer; }