diff options
| -rw-r--r-- | core.c | 17 | 
1 files changed, 17 insertions, 0 deletions
| @@ -112,6 +112,19 @@ int file_open_fn( file_t *ft, const char *filename, int flags )  	int ret = 0;  	int fd; +	//check if file is allready initialized or opened +	if (ft->fd > 0) +	{ +		printf("Trying to open file but file descriptor allready set\n"); +		return -1; +	} + +	if (ft->filename != NULL) +	{ +		printf("Trying open file, bus structure allready have filename\n"); +		return -1; +	} +  	fd = fd_open( filename, flags );  	if ( fd < 1 )  	{ @@ -378,10 +391,14 @@ int file_close( file_t *ft )  	{  		printf("File name is empty\n");  		return -1; +	} else { +		free(ft->filename); +		ft->filename = NULL;  	}  	fd_close( ft->fd );  	memset( ft, 0, sizeof(file_t) ); +	ft->fd = -1;  	return ret;  } | 
