int utils_write_file( const char *filename, const unsigned char *buffer, size_t length ) { compat_fd fd; fd = compat_file_open( filename, 1 ); if( fd == COMPAT_FILE_OPEN_FAILED ) { ui_error( UI_ERROR_ERROR, "couldn't open `%s' for writing: %s\n", filename, strerror( errno ) ); return 1; } if( compat_file_write( fd, buffer, length ) ) { compat_file_close( fd ); return 1; } if( compat_file_close( fd ) ) return 1; return 0; }
int utils_read_fd( compat_fd fd, const char *filename, utils_file *file ) { file->length = compat_file_get_length( fd ); if( file->length == -1 ) return 1; file->buffer = libspectrum_new( unsigned char, file->length ); if( compat_file_read( fd, file ) ) { libspectrum_free( file->buffer ); compat_file_close( fd ); return 1; } if( compat_file_close( fd ) ) { ui_error( UI_ERROR_ERROR, "Couldn't close '%s': %s", filename, strerror( errno ) ); libspectrum_free( file->buffer ); return 1; } return 0; }
int compat_file_exists(const char *path) { log_cb(RETRO_LOG_INFO, "Checking if \"%s\" exists\n", path); int exists = 0; compat_fd fd = compat_file_open(path, 0); if (fd != COMPAT_FILE_OPEN_FAILED) { compat_file_close(fd); exists = 1; } return exists; }