#endif
#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
#include <glib.h>
data = g_getenv (variable);
g_assert (data == NULL && "g_unsetenv() doesn't work");
+#if 0
+ /* We can't test this, because it's an illegal argument that
+ * we g_return_if_fail for.
+ */
+ result = g_setenv ("foo=bar", "baz", TRUE);
+ g_assert (!result && "g_setenv() accepts '=' in names");
+#endif
+
+ result = g_setenv ("foo", "bar=baz", TRUE);
+ g_assert (result && "g_setenv() doesn't accept '=' in values");
+#if 0
+ /* While glibc supports '=' in names in getenv(), SUS doesn't say anything about it,
+ * and Solaris doesn't support it.
+ */
+ data = g_getenv ("foo=bar");
+ g_assert (strcmp (data, "baz") == 0 && "g_getenv() doesn't support '=' in names");
+#endif
+ data = g_getenv ("foo");
+ g_assert (strcmp (data, "bar=baz") == 0 && "g_getenv() doesn't support '=' in values");
+
+#if 0
+ /* We can't test this, because it's an illegal argument that
+ * we g_return_if_fail for. Plus how would we check for failure,
+ * since we can't set the value...
+ */
+ g_unsetenv ("foo=bar");
+#endif
+ g_unsetenv ("foo");
+ data = g_getenv ("foo");
+ g_assert (data == NULL && "g_unsetenv() doesn't support '=' in values");
+
return 0;
}