]> Dogcows Code - chaz/openbox/blobdiff - openbox/openbox.c
show a message if chdir() fails
[chaz/openbox] / openbox / openbox.c
index c0aa9a068838284ede69aafe36bec062b78639d8..b688296516911f2afee8254577a00635c3d60d4c 100644 (file)
@@ -62,6 +62,7 @@
 #ifdef HAVE_UNISTD_H
 #  include <unistd.h>
 #endif
+#include <errno.h>
 
 #include <X11/cursorfont.h>
 
@@ -76,15 +77,15 @@ static ObState   state;
 static gboolean  xsync;
 static gboolean  reconfigure;
 static gboolean  restart;
-static char     *restart_path;
+static gchar    *restart_path;
 static Cursor    cursors[OB_NUM_CURSORS];
 static KeyCode   keys[OB_NUM_KEYS];
 static gint      exitcode = 0;
 
-static void signal_handler(int signal, gpointer data);
-static void parse_args(int argc, char **argv);
+static void signal_handler(gint signal, gpointer data);
+static void parse_args(gint argc, gchar **argv);
 
-int main(int argc, char **argv)
+gint main(gint argc, gchar **argv)
 {
 #ifdef DEBUG
     ob_debug_show_output(TRUE);
@@ -101,7 +102,9 @@ int main(int argc, char **argv)
 
     g_set_prgname(argv[0]);
 
-    chdir(g_get_home_dir());
+    if (chdir(g_get_home_dir()) == -1)
+        g_warning("Unable to change to home directory (%s): %s",
+                  g_get_home_dir(), g_strerror(errno));
      
     parse_paths_startup();
 
@@ -300,8 +303,8 @@ int main(int argc, char **argv)
 
     if (restart) {
         if (restart_path != NULL) {
-            int argcp;
-            char **argvp;
+            gint argcp;
+            gchar **argvp;
             GError *err = NULL;
 
             /* run other shit */
@@ -311,6 +314,7 @@ int main(int argc, char **argv)
             } else {
                 g_warning("failed to execute '%s': %s", restart_path,
                           err->message);
+                g_error_free(err);
             }
         }
 
@@ -322,7 +326,7 @@ int main(int argc, char **argv)
     return exitcode;
 }
 
-static void signal_handler(int signal, gpointer data)
+static void signal_handler(gint signal, gpointer data)
 {
     if (signal == SIGUSR1) {
         ob_debug("Caught signal %d. Restarting.\n", signal);
@@ -367,9 +371,9 @@ static void print_help()
     g_print("\nPlease report bugs at %s\n\n", PACKAGE_BUGREPORT);
 }
 
-static void parse_args(int argc, char **argv)
+static void parse_args(gint argc, gchar **argv)
 {
-    int i;
+    gint i;
 
     for (i = 1; i < argc; ++i) {
         if (!strcmp(argv[i], "--version")) {
This page took 0.025894 seconds and 4 git commands to generate.