[kdbus] sync with kdbus (kdbus.h - commit: 5ae1ecac44cb)
[platform/upstream/glib.git] / tests / iochannel-test.c
index f08688b..06a85e5 100644 (file)
@@ -15,7 +15,7 @@ static void
 test_small_writes (void)
 {
   GIOChannel *io;
-  GIOStatus status;
+  GIOStatus status = G_IO_STATUS_ERROR;
   guint cnt; 
   gchar tmp;
   GError *error = NULL;
@@ -26,7 +26,7 @@ test_small_writes (void)
       g_warning ("Unable to open file %s: %s", 
                 "iochannel-test-outfile", 
                 error->message);
-      g_error_free (error);
+      g_clear_error (&error);
       
       exit (1);
     }
@@ -58,44 +58,41 @@ gint main (gint argc, gchar * argv[])
     GError *gerr = NULL;
     GString *buffer;
     char *filename;
-    char *srcdir = getenv ("srcdir");
     gint rlength = 0;
     glong wlength = 0;
     gsize length_out;
     const gchar encoding[] = "EUC-JP";
     GIOStatus status;
-    GIOFlags flags;
 
-    if (!srcdir)
-      srcdir = ".";
-    filename = g_strconcat (srcdir, G_DIR_SEPARATOR_S, "iochannel-test-infile", NULL);
-  
+    g_test_init (&argc, &argv, NULL);
+
+    filename = g_test_build_filename (G_TEST_DIST, "iochannel-test-infile", NULL);
+
     setbuf (stdout, NULL); /* For debugging */
 
     gio_r = g_io_channel_new_file (filename, "r", &gerr);
     if (gerr)
       {
         g_warning ("Unable to open file %s: %s", filename, gerr->message);
-        g_error_free (gerr);
+        g_clear_error (&gerr);
         return 1;
       }
     gio_w = g_io_channel_new_file ("iochannel-test-outfile", "w", &gerr);
     if (gerr)
       {
         g_warning ("Unable to open file %s: %s", "iochannel-test-outfile", gerr->message);
-        g_error_free (gerr);
+        g_clear_error (&gerr);
         return 1;
       }
 
     g_io_channel_set_encoding (gio_r, encoding, &gerr);
     if (gerr)
       {
-        g_warning (gerr->message);
+        g_warning ("%s", gerr->message);
         /* Keep going if this is just a case of iconv not supporting EUC-JP, see bug 428048 */
         if (gerr->code != G_CONVERT_ERROR_NO_CONVERSION)
           return 1;
-        g_error_free (gerr);
-        gerr = NULL;
+        g_clear_error (&gerr);
       }
     
     g_io_channel_set_buffer_size (gio_r, BUFFER_SIZE);
@@ -103,11 +100,9 @@ gint main (gint argc, gchar * argv[])
     status = g_io_channel_set_flags (gio_r, G_IO_FLAG_NONBLOCK, &gerr);
     if (status == G_IO_STATUS_ERROR)
       {
-        g_warning (gerr->message);
-        g_error_free (gerr);
-        gerr = NULL;
+        g_warning ("%s", gerr->message);
+        g_clear_error (&gerr);
       }
-    flags = g_io_channel_get_flags (gio_r);
     buffer = g_string_sized_new (BUFFER_SIZE);
 
     while (TRUE)
@@ -143,9 +138,8 @@ gint main (gint argc, gchar * argv[])
         case G_IO_STATUS_EOF:
           break;
         case G_IO_STATUS_ERROR:
-          g_warning (gerr->message);
-          g_error_free (gerr);
-          gerr = NULL;
+          g_warning ("%s", gerr->message);
+          g_clear_error (&gerr);
           break;
         default:
           g_warning ("Abnormal exit from write loop.");
@@ -158,9 +152,8 @@ gint main (gint argc, gchar * argv[])
 
     if (status == G_IO_STATUS_ERROR)
       {
-        g_warning (gerr->message);
-        g_error_free (gerr);
-        gerr = NULL;
+        g_warning ("%s", gerr->message);
+        g_clear_error (&gerr);
       }
 
 #ifdef VERBOSE
@@ -171,6 +164,9 @@ gint main (gint argc, gchar * argv[])
     g_io_channel_unref(gio_w);
 
     test_small_writes ();
-    
+
+    g_free (filename);
+    g_string_free (buffer, TRUE);
+
     return 0;
 }