extern struct _PDCLIB_file_t * _PDCLIB_filelist;
-/* FIXME: Last file not removed from list. */
int fclose( struct _PDCLIB_file_t * stream )
{
struct _PDCLIB_file_t * current = _PDCLIB_filelist;
return EOF;
}
}
- /* Free buffer */
- if ( stream->status & _PDCLIB_LIBBUFFER )
- {
- free( stream->buffer );
- }
/* Close handle */
_PDCLIB_close( stream->handle );
/* Remove stream from list */
{
_PDCLIB_filelist = stream->next;
}
+ /* Delete tmpfile() */
+ if ( stream->status & _PDCLIB_DELONCLOSE )
+ {
+ remove( stream->filename );
+ }
/* Free stream */
free( stream );
+
return 0;
}
previous = current;