* clean-temp: Improve comments
@ 2020-07-04 12:57 Bruno Haible
0 siblings, 0 replies; only message in thread
From: Bruno Haible @ 2020-07-04 12:57 UTC (permalink / raw)
To: bug-gnulib
It was not clear from the comments how open_temp and clean_temp are meant
to be used.
2020-07-04 Bruno Haible <bruno@clisp.org>
clean-temp: Improve comments.
* lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
fwriteerror_temp, close_stream_temp): Clarify intended use.
* lib/clean-temp.c: Likewise.
diff --git a/lib/clean-temp.c b/lib/clean-temp.c
index 5a311de..75bd1ee 100644
--- a/lib/clean-temp.c
+++ b/lib/clean-temp.c
@@ -763,7 +763,10 @@ register_fd (int fd)
}
/* Open a temporary file in a temporary directory.
- Registers the resulting file descriptor to be closed. */
+ FILE_NAME must already have been passed to register_temp_file.
+ Registers the resulting file descriptor to be closed.
+ DELETE_ON_CLOSE indicates whether the file can be deleted when the resulting
+ file descriptor or stream is closed. */
int
open_temp (const char *file_name, int flags, mode_t mode, bool delete_on_close)
{
@@ -789,7 +792,10 @@ open_temp (const char *file_name, int flags, mode_t mode, bool delete_on_close)
}
/* Open a temporary file in a temporary directory.
- Registers the resulting file descriptor to be closed. */
+ FILE_NAME must already have been passed to register_temp_file.
+ Registers the resulting file descriptor to be closed.
+ DELETE_ON_CLOSE indicates whether the file can be deleted when the resulting
+ file descriptor or stream is closed. */
FILE *
fopen_temp (const char *file_name, const char *mode, bool delete_on_close)
{
@@ -835,6 +841,7 @@ fopen_temp (const char *file_name, const char *mode, bool delete_on_close)
}
/* Close a temporary file in a temporary directory.
+ FD must have been returned by open_temp.
Unregisters the previously registered file descriptor. */
int
close_temp (int fd)
@@ -962,6 +969,8 @@ fclose_variant_temp (FILE *fp, int (*fclose_variant) (FILE *))
}
/* Close a temporary file in a temporary directory.
+ FP must have been returned by fopen_temp, or by fdopen on a file descriptor
+ returned by open_temp.
Unregisters the previously registered file descriptor. */
int
fclose_temp (FILE *fp)
@@ -971,6 +980,8 @@ fclose_temp (FILE *fp)
#if GNULIB_FWRITEERROR
/* Like fwriteerror.
+ FP must have been returned by fopen_temp, or by fdopen on a file descriptor
+ returned by open_temp.
Unregisters the previously registered file descriptor. */
int
fwriteerror_temp (FILE *fp)
@@ -981,6 +992,8 @@ fwriteerror_temp (FILE *fp)
#if GNULIB_CLOSE_STREAM
/* Like close_stream.
+ FP must have been returned by fopen_temp, or by fdopen on a file descriptor
+ returned by open_temp.
Unregisters the previously registered file descriptor. */
int
close_stream_temp (FILE *fp)
diff --git a/lib/clean-temp.h b/lib/clean-temp.h
index 5b66328..7848a15 100644
--- a/lib/clean-temp.h
+++ b/lib/clean-temp.h
@@ -117,6 +117,7 @@ extern int cleanup_temp_dir_contents (struct temp_dir *dir);
extern int cleanup_temp_dir (struct temp_dir *dir);
/* Open a temporary file in a temporary directory.
+ FILE_NAME must already have been passed to register_temp_file.
Registers the resulting file descriptor to be closed.
DELETE_ON_CLOSE indicates whether the file can be deleted when the resulting
file descriptor or stream is closed. */
@@ -126,15 +127,25 @@ extern FILE * fopen_temp (const char *file_name, const char *mode,
bool delete_on_close);
/* Close a temporary file in a temporary directory.
+ FD must have been returned by open_temp.
Unregisters the previously registered file descriptor. */
extern int close_temp (int fd);
+
+/* Close a temporary file in a temporary directory.
+ FP must have been returned by fopen_temp, or by fdopen on a file descriptor
+ returned by open_temp.
+ Unregisters the previously registered file descriptor. */
extern int fclose_temp (FILE *fp);
/* Like fwriteerror.
+ FP must have been returned by fopen_temp, or by fdopen on a file descriptor
+ returned by open_temp.
Unregisters the previously registered file descriptor. */
extern int fwriteerror_temp (FILE *fp);
/* Like close_stream.
+ FP must have been returned by fopen_temp, or by fdopen on a file descriptor
+ returned by open_temp.
Unregisters the previously registered file descriptor. */
extern int close_stream_temp (FILE *fp);
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2020-07-04 12:57 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-04 12:57 clean-temp: Improve comments Bruno Haible
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).