commit 7d02d6c1fe57e6abaa1bf03b27c2ed1487aef71f
parent 6f023376a1dae14a643cfaf833ec003756070243
Author: Oswald Buddenhagen <ossi@users.sf.net>
Date: Tue, 8 Feb 2022 14:57:24 +0100
move checked FILE functions to util.c
while they are used only in sync.c, they are conceptually low-level.
Diffstat:
3 files changed, 39 insertions(+), 35 deletions(-)
diff --git a/src/common.h b/src/common.h
@@ -141,6 +141,14 @@ void ATTR_PRINTFLIKE(1, 0) vsys_error( const char *, va_list va );
void ATTR_PRINTFLIKE(1, 2) sys_error( const char *, ... );
void flushn( void );
+#if !defined(_POSIX_SYNCHRONIZED_IO) || _POSIX_SYNCHRONIZED_IO <= 0
+# define fdatasync fsync
+#endif
+
+void ATTR_PRINTFLIKE(2, 0) vFprintf( FILE *f, const char *msg, va_list va );
+void ATTR_PRINTFLIKE(2, 3) Fprintf( FILE *f, const char *msg, ... );
+void Fclose( FILE *f, int safe );
+
typedef struct string_list {
struct string_list *next;
char string[1];
diff --git a/src/sync.c b/src/sync.c
@@ -14,10 +14,6 @@
#include <errno.h>
#include <sys/stat.h>
-#if !defined(_POSIX_SYNCHRONIZED_IO) || _POSIX_SYNCHRONIZED_IO <= 0
-# define fdatasync fsync
-#endif
-
#define JOURNAL_VERSION "4"
channel_conf_t global_conf;
@@ -32,37 +28,6 @@ int trash_total[2], trash_done[2];
const char *str_fn[] = { "far side", "near side" }, *str_hl[] = { "push", "pull" };
-static void
-Fclose( FILE *f, int safe )
-{
- if ((safe && (fflush( f ) || (UseFSync && fdatasync( fileno( f ) )))) || fclose( f ) == EOF) {
- sys_error( "Error: cannot close file" );
- exit( 1 );
- }
-}
-
-static void ATTR_PRINTFLIKE(2, 0)
-vFprintf( FILE *f, const char *msg, va_list va )
-{
- int r;
-
- r = vfprintf( f, msg, va );
- if (r < 0) {
- sys_error( "Error: cannot write file" );
- exit( 1 );
- }
-}
-
-static void ATTR_PRINTFLIKE(2, 3)
-Fprintf( FILE *f, const char *msg, ... )
-{
- va_list va;
-
- va_start( va, msg );
- vFprintf( f, msg, va );
- va_end( va );
-}
-
/* Keep the mailbox driver flag definitions in sync: */
/* grep for MAILBOX_DRIVER_FLAG */
diff --git a/src/util.c b/src/util.c
@@ -174,6 +174,37 @@ sys_error( const char *msg, ... )
}
void
+vFprintf( FILE *f, const char *msg, va_list va )
+{
+ int r;
+
+ r = vfprintf( f, msg, va );
+ if (r < 0) {
+ sys_error( "Error: cannot write file" );
+ exit( 1 );
+ }
+}
+
+void
+Fprintf( FILE *f, const char *msg, ... )
+{
+ va_list va;
+
+ va_start( va, msg );
+ vFprintf( f, msg, va );
+ va_end( va );
+}
+
+void
+Fclose( FILE *f, int safe )
+{
+ if ((safe && (fflush( f ) || (UseFSync && fdatasync( fileno( f ) )))) || fclose( f ) == EOF) {
+ sys_error( "Error: cannot close file" );
+ exit( 1 );
+ }
+}
+
+void
add_string_list_n( string_list_t **list, const char *str, uint len )
{
string_list_t *elem;