return fclose (f);
}
-/* Creates a new file named FN with the given PERMISSIONS bits,
- and returns a stream for it or a null pointer on failure.
- MODE should be "w" or "wb". */
-FILE *
-create_stream (const char *fn, const char *mode, mode_t permissions)
-{
- int fd;
- FILE *stream;
-
- fd = open (fn, O_WRONLY | O_CREAT | O_TRUNC, permissions);
- if (fd < 0)
- return NULL;
-
- stream = fdopen (fd, mode);
- if (stream == NULL)
- {
- int save_errno = errno;
- close (fd);
- errno = save_errno;
- }
-
- return stream;
-}
/* A file's identity:
FILE *fn_open (const char *fn, const char *mode);
int fn_close (const char *fn, FILE *file);
-FILE *create_stream (const char *fn, const char *mode, mode_t permissions);
-
struct file_identity *fn_get_identity (const char *file_name);
void fn_free_identity (struct file_identity *);
int fn_compare_file_identities (const struct file_identity *,