Index: docs/reference/glib/glib-sections.txt
===================================================================
--- docs/reference/glib/glib-sections.txt	(revision 5306)
+++ docs/reference/glib/glib-sections.txt	(working copy)
@@ -1054,6 +1054,7 @@ g_file_error_quark
 <TITLE>String Utility Functions</TITLE>
 <FILE>string_utils</FILE>
 <INCLUDE>glib.h,glib/gprintf.h</INCLUDE>
+G_STR_EMPTY
 g_strdup
 g_strndup
 g_strdupv
Index: docs/reference/glib/tmpl/string_utils.sgml
===================================================================
--- docs/reference/glib/tmpl/string_utils.sgml	(revision 5306)
+++ docs/reference/glib/tmpl/string_utils.sgml	(working copy)
@@ -40,6 +40,15 @@ wide characters (see g_unichar_iswide())
 <!-- ##### SECTION Stability_Level ##### -->
 
 
+<!-- ##### MACRO G_STR_EMPTY ##### -->
+<para>
+Checks if @str is %NULL or "".
+</para>
+
+@str: the string to check.
+@Returns: %TRUE if @str is %NULL or "", %FALSE otherwise.
+
+
 <!-- ##### FUNCTION g_strdup ##### -->
 <para>
 Duplicates a string.
Index: glib/gstrfuncs.h
===================================================================
--- glib/gstrfuncs.h	(revision 5306)
+++ glib/gstrfuncs.h	(working copy)
@@ -182,6 +182,7 @@ gchar*	              g_strup	       (gch
 /* String utility functions that return a newly allocated string which
  * ought to be freed with g_free from the caller at some point.
  */
+#define  G_STR_EMPTY(x)         ((x) == NULL || (x)[0] == '\0')
 gchar*	              g_strdup	       (const gchar *str) G_GNUC_MALLOC;
 gchar*	              g_strdup_printf  (const gchar *format,
 					...) G_GNUC_PRINTF (1, 2) G_GNUC_MALLOC;
