commit 9821a9a: [Minor] Use buffered output
Vsevolod Stakhov
vsevolod at highsecure.ru
Mon Oct 19 11:42:06 UTC 2020
Author: Vsevolod Stakhov
Date: 2020-10-19 12:23:09 +0100
URL: https://github.com/rspamd/rspamd/commit/9821a9a62e615d9530d64dc4e5f76eddfe1cf8fd
[Minor] Use buffered output
---
src/libserver/rspamd_symcache.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/libserver/rspamd_symcache.c b/src/libserver/rspamd_symcache.c
index b1aa2afba..3236a5e5e 100644
--- a/src/libserver/rspamd_symcache.c
+++ b/src/libserver/rspamd_symcache.c
@@ -928,6 +928,7 @@ rspamd_symcache_save_items (struct rspamd_symcache *cache, const gchar *name)
struct ucl_emitter_functions *efunc;
gpointer k, v;
gint fd;
+ FILE *fp;
bool ret;
gchar path[PATH_MAX];
@@ -951,16 +952,17 @@ rspamd_symcache_save_items (struct rspamd_symcache *cache, const gchar *name)
}
rspamd_file_lock (fd, FALSE);
+ fp = fdopen (fd, "w");
memset (&hdr, 0, sizeof (hdr));
memcpy (hdr.magic, rspamd_symcache_magic,
sizeof (rspamd_symcache_magic));
- if (write (fd, &hdr, sizeof (hdr)) == -1) {
+ if (fwrite (&hdr, sizeof (hdr), 1, fp) == -1) {
msg_err_cache ("cannot write to file %s, error %d, %s", path,
errno, strerror (errno));
rspamd_file_unlock (fd, FALSE);
- close (fd);
+ fclose (fp);
return FALSE;
}
@@ -992,12 +994,12 @@ rspamd_symcache_save_items (struct rspamd_symcache *cache, const gchar *name)
ucl_object_insert_key (top, elt, k, 0, false);
}
- efunc = ucl_object_emit_fd_funcs (fd);
+ efunc = ucl_object_emit_file_funcs (fp);
ret = ucl_object_emit_full (top, UCL_EMIT_JSON_COMPACT, efunc, NULL);
ucl_object_emit_funcs_free (efunc);
ucl_object_unref (top);
rspamd_file_unlock (fd, FALSE);
- close (fd);
+ fclose (fp);
if (rename (path, name) == -1) {
msg_err_cache ("cannot rename %s -> %s, error %d, %s", path, name,
More information about the Commits
mailing list