mirror of
				https://gitlab.gnome.org/GNOME/glib.git
				synced 2025-10-31 16:32:18 +01:00 
			
		
		
		
	Some editors automatically remove trailing blank lines, or
automatically add a trailing newline to avoid having a trailing
non-blank line that is not terminated by a newline. To avoid unrelated
whitespace changes when users of such editors contribute to GLib,
let's pre-emptively normalize all files.
Unlike more intrusive whitespace normalization like removing trailing
whitespace from each line, this seems unlikely to cause significant
issues with cherry-picking changes to stable branches.
Implemented by:
    find . -name '*.[ch]' -print0 | \
    xargs -0 perl -0777 -p -i -e 's/\n+\z//g; s/\z/\n/g'
Signed-off-by: Simon McVittie <smcv@collabora.com>
		
	
		
			
				
	
	
		
			181 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			181 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #include <gio/gio.h>
 | |
| 
 | |
| static GVolumeMonitor *monitor;
 | |
| 
 | |
| static void
 | |
| do_mount_tests (GDrive *drive, GVolume *volume, GMount *mount)
 | |
| {
 | |
|   GDrive *d;
 | |
|   GVolume *v;
 | |
|   gchar *name;
 | |
|   gchar *uuid;
 | |
| 
 | |
|   name = g_mount_get_name (mount);
 | |
|   g_assert (name != NULL);
 | |
|   g_free (name);
 | |
| 
 | |
|   v = g_mount_get_volume (mount);
 | |
|   g_assert (v == volume);
 | |
|   if (v != NULL)
 | |
|     g_object_unref (v);
 | |
| 
 | |
|   d = g_mount_get_drive (mount);
 | |
|   g_assert (d == drive);
 | |
|   if (d != NULL)
 | |
|     g_object_unref (d);
 | |
| 
 | |
|   uuid = g_mount_get_uuid (mount);
 | |
|   if (uuid)
 | |
|     {
 | |
|       GMount *m;
 | |
|       m = g_volume_monitor_get_mount_for_uuid (monitor, uuid);
 | |
|       g_assert (m == mount);
 | |
|       g_object_unref (m);
 | |
|       g_free (uuid);
 | |
|     }
 | |
| }
 | |
| 
 | |
| static void
 | |
| do_volume_tests (GDrive *drive, GVolume *volume)
 | |
| {
 | |
|   GDrive *d;
 | |
|   gchar *name;
 | |
|   GMount *mount;
 | |
|   gchar *uuid;
 | |
| 
 | |
|   name = g_volume_get_name (volume);
 | |
|   g_assert (name != NULL);
 | |
|   g_free (name);
 | |
| 
 | |
|   d = g_volume_get_drive (volume);
 | |
|   g_assert (d == drive);
 | |
|   if (d != NULL)
 | |
|     g_object_unref (d);
 | |
| 
 | |
|   mount = g_volume_get_mount (volume);
 | |
|   if (mount != NULL)
 | |
|     {
 | |
|       do_mount_tests (drive, volume, mount);
 | |
|       g_object_unref (mount);
 | |
|     }
 | |
| 
 | |
|   uuid = g_volume_get_uuid (volume);
 | |
|   if (uuid)
 | |
|     {
 | |
|       GVolume *v;
 | |
|       v = g_volume_monitor_get_volume_for_uuid (monitor, uuid);
 | |
|       g_assert (v == volume);
 | |
|       g_object_unref (v);
 | |
|       g_free (uuid);
 | |
|     }
 | |
| }
 | |
| 
 | |
| static void
 | |
| do_drive_tests (GDrive *drive)
 | |
| {
 | |
|   GList *volumes, *l;
 | |
|   gchar *name;
 | |
|   gboolean has_volumes;
 | |
| 
 | |
|   g_assert (G_IS_DRIVE (drive));
 | |
|   name = g_drive_get_name (drive);
 | |
|   g_assert (name != NULL);
 | |
|   g_free (name);
 | |
| 
 | |
|   has_volumes = g_drive_has_volumes (drive);
 | |
|   volumes = g_drive_get_volumes (drive);
 | |
|   g_assert (has_volumes == (volumes != NULL));
 | |
|   for (l = volumes; l; l = l->next)
 | |
|     {
 | |
|       GVolume *volume = l->data;
 | |
|       do_volume_tests (drive, volume);
 | |
|     }
 | |
| 
 | |
|   g_list_free_full (volumes, g_object_unref);
 | |
| }
 | |
| 
 | |
| static void
 | |
| test_connected_drives (void)
 | |
| {
 | |
|   GList *drives;
 | |
|   GList *l;
 | |
| 
 | |
|   drives = g_volume_monitor_get_connected_drives (monitor);
 | |
| 
 | |
|   for (l = drives; l; l = l->next)
 | |
|     {
 | |
|       GDrive *drive = l->data;
 | |
|       do_drive_tests (drive);
 | |
|     }
 | |
| 
 | |
|   g_list_free_full (drives, g_object_unref);
 | |
| }
 | |
| 
 | |
| static void
 | |
| test_volumes (void)
 | |
| {
 | |
|   GList *volumes, *l;
 | |
| 
 | |
|   volumes = g_volume_monitor_get_volumes (monitor);
 | |
| 
 | |
|   for (l = volumes; l; l = l->next)
 | |
|     {
 | |
|       GVolume *volume = l->data;
 | |
|       GDrive *drive;
 | |
| 
 | |
|       drive = g_volume_get_drive (volume);
 | |
|       do_volume_tests (drive, volume);
 | |
|       if (drive != NULL)
 | |
|         g_object_unref (drive);
 | |
|     }
 | |
| 
 | |
|   g_list_free_full (volumes, g_object_unref);
 | |
| }
 | |
| 
 | |
| static void
 | |
| test_mounts (void)
 | |
| {
 | |
|   GList *mounts, *l;
 | |
| 
 | |
|   mounts = g_volume_monitor_get_mounts (monitor);
 | |
| 
 | |
|   for (l = mounts; l; l = l->next)
 | |
|     {
 | |
|       GMount *mount = l->data;
 | |
|       GVolume *volume;
 | |
|       GDrive *drive;
 | |
| 
 | |
|       drive = g_mount_get_drive (mount);
 | |
|       volume = g_mount_get_volume (mount);
 | |
|       do_mount_tests (drive, volume, mount);
 | |
| 
 | |
|       if (drive != NULL)
 | |
|         g_object_unref (drive);
 | |
|       if (volume != NULL)
 | |
|         g_object_unref (volume);
 | |
|     }
 | |
| 
 | |
|   g_list_free_full (mounts, g_object_unref);
 | |
| }
 | |
| int
 | |
| main (int argc, char *argv[])
 | |
| {
 | |
|   gboolean ret;
 | |
| 
 | |
|   g_setenv ("GIO_USE_VFS", "local", FALSE);
 | |
| 
 | |
|   g_test_init (&argc, &argv, NULL);
 | |
| 
 | |
|   monitor = g_volume_monitor_get ();
 | |
| 
 | |
|   g_test_add_func ("/volumemonitor/connected_drives", test_connected_drives);
 | |
|   g_test_add_func ("/volumemonitor/volumes", test_volumes);
 | |
|   g_test_add_func ("/volumemonitor/mounts", test_mounts);
 | |
| 
 | |
|   ret = g_test_run ();
 | |
| 
 | |
|   g_object_unref (monitor);
 | |
| 
 | |
|   return ret;
 | |
| }
 |