summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Terry <mterry@src.gnome.org>2006-04-02 03:58:45 +0000
committerMichael Terry <mterry@src.gnome.org>2006-04-02 03:58:45 +0000
commitec7922c6bd90815d619f6cf0c39c7b8b7aaee086 (patch)
tree45196c3ad95a2d40cecb583a0606fd2a572491a1 /src
parentc2104f2f0b39f2fff8d428d4e7844c6e5dc92a48 (diff)
downloadlibgtop-ec7922c6bd90815d619f6cf0c39c7b8b7aaee086.tar.gz
bug 336837: convert from popt to goption
Diffstat (limited to 'src')
-rw-r--r--src/daemon/daemon.h4
-rw-r--r--src/daemon/gnuserv.c65
2 files changed, 32 insertions, 37 deletions
diff --git a/src/daemon/daemon.h b/src/daemon/daemon.h
index a585b32c..21badd0f 100644
--- a/src/daemon/daemon.h
+++ b/src/daemon/daemon.h
@@ -71,8 +71,8 @@ int do_read (int s, void *ptr, size_t total_size) G_GNUC_INTERNAL;
void syslog_message (int priority, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3);
void syslog_io_message (int priority, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3);
-extern int enable_debug;
-extern int verbose_output;
+extern gboolean enable_debug;
+extern gboolean verbose_output;
G_END_DECLS
diff --git a/src/daemon/gnuserv.c b/src/daemon/gnuserv.c
index ea61ded1..8243b871 100644
--- a/src/daemon/gnuserv.c
+++ b/src/daemon/gnuserv.c
@@ -46,7 +46,6 @@
#include <glibtop/gnuserv.h>
#include <errno.h>
-#include <popt.h>
#include "daemon.h"
@@ -79,10 +78,10 @@ static Xauth *server_xauth = NULL;
#endif /* AUTH_MAGIC_COOKIE */
-int enable_debug = 0;
-int verbose_output = 0;
-static int no_daemon = 0;
-static int invoked_from_inetd = 0;
+gboolean enable_debug = FALSE;
+gboolean verbose_output = FALSE;
+static gboolean no_daemon = FALSE;
+static gboolean invoked_from_inetd = FALSE;
static int changed_uid = 0;
void
@@ -454,27 +453,26 @@ handle_signal (int sig)
exit (1);
}
-const struct poptOption popt_options [] = {
- POPT_AUTOHELP
- { "debug", 'd', POPT_ARG_NONE, &enable_debug, 0,
- N_("Enable debugging"), N_("DEBUG") },
- { "verbose", 'v', POPT_ARG_NONE, &verbose_output, 0,
- N_("Enable verbose output"), N_("VERBOSE") },
- { "no-daemon", 'f', POPT_ARG_NONE, &no_daemon, 0,
- N_("Don't fork into background"), N_("NO-DAEMON") },
- { "inetd", 'i', POPT_ARG_NONE, &invoked_from_inetd, 0,
- N_("Invoked from inetd"), N_("INETD") },
- { NULL, '\0', 0, NULL, 0, NULL, NULL }
+static const GOptionEntry options [] = {
+ { "debug", 'd', 0, G_OPTION_ARG_NONE, &enable_debug,
+ N_("Enable debugging"), NULL },
+ { "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose_output,
+ N_("Enable verbose output"), NULL },
+ { "no-daemon", 'f', 0, G_OPTION_ARG_NONE, &no_daemon,
+ N_("Don't fork into background"), NULL },
+ { "inetd", 'i', 0, G_OPTION_ARG_NONE, &invoked_from_inetd,
+ N_("Invoked from inetd"), NULL },
+ { NULL }
};
int
-main (int argc, const char **argv)
+main (int argc, char **argv)
{
const unsigned method = GLIBTOP_METHOD_PIPE;
const unsigned long features = GLIBTOP_SYSDEPS_ALL;
glibtop *server = glibtop_global_server;
- poptContext context;
- int nextopt;
+ GOptionContext *goption_context;
+ GError *error = NULL;
int ils = -1; /* internet domain listen socket */
@@ -488,22 +486,19 @@ main (int argc, const char **argv)
arg ? (arg + 1) : program_invocation_name;
}
- context = poptGetContext ("libgtop-daemon", argc, argv,
- popt_options, 0);
-
- poptReadDefaultConfig (context, TRUE);
-
- while ((nextopt = poptGetNextOpt (context)) > 0)
- /* do nothing */ ;
-
- if(nextopt != -1) {
- printf (_("Error on option %s: %s.\n"
- "Run '%s --help' to see a full list of "
- "available command line options.\n"),
- poptBadOption (context, 0),
- poptStrerror (nextopt),
- argv[0]);
- exit(1);
+ g_set_prgname (program_invocation_short_name);
+ goption_context = g_option_context_new (NULL);
+ g_option_context_add_main_entries (goption_context, options, NULL);
+ g_option_context_parse (goption_context, &argc, &argv, &error);
+ g_option_context_free (goption_context);
+
+ if (error != NULL) {
+ g_printerr ("%s\n", error->message);
+ g_error_free (error);
+ g_printerr (_("Run '%s --help' to see a full list of "
+ "available command line options.\n"),
+ program_invocation_name);
+ exit(1);
}
if (enable_debug)