[gnome-mud] log: Check that all fwrites succeed



commit 4a7e020a4563857d77d6f9e0dc4b67fbfe45f561
Author: Steven Jackson <sj oscode net>
Date:   Sun Apr 23 15:15:28 2017 +0100

    log: Check that all fwrites succeed
    
    Reviewed-by: Mart Raudsepp <leio gentoo org>

 src/mud-log.c |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)
---
diff --git a/src/mud-log.c b/src/mud-log.c
index f78f263..5848b1f 100644
--- a/src/mud-log.c
+++ b/src/mud-log.c
@@ -827,9 +827,15 @@ mud_log_close(MudLog *log)
 
     if(log->priv->color)
     {
+        gsize write_size;
+        const gchar span[] = "</span>";
+
         while(!g_queue_is_empty(log->priv->span_queue))
         {
-            fwrite("</span>", 1, strlen("</span>"), log->priv->logfile);
+            write_size = fwrite(span, 1, sizeof(span) - 1,
+                                log->priv->logfile);
+            if(write_size != sizeof(span) - 1)
+                g_critical(_("Could not write data to log file!"));
             g_queue_pop_head(log->priv->span_queue);
         }
     }
@@ -922,7 +928,11 @@ mud_log_write(MudLog *log, const gchar *data, gsize size)
 
         if(output)
         {
-            write_size = fwrite(output, 1, strlen(output), log->priv->logfile);
+            const gsize output_len = strlen(output);
+
+            write_size = fwrite(output, 1, output_len, log->priv->logfile);
+            if(write_size != output_len)
+                g_critical(_("Could not write data to log file!"));
 
             g_free(output);
         }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]