diff options
author | Alan Coopersmith <alan.coopersmith@oracle.com> | 2023-02-11 12:51:58 -0800 |
---|---|---|
committer | Alan Coopersmith <alan.coopersmith@oracle.com> | 2023-02-11 12:51:58 -0800 |
commit | ef450fb99630a406c4638d8ba251eac45e434411 (patch) | |
tree | 855b66183ffe9d85fd582a6f97ea7bca6fdf0fa1 | |
parent | 7063169a70b6ce49de777f5daa1c256552a9e32a (diff) |
Add -help and -version options
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-rw-r--r-- | COPYING | 2 | ||||
-rw-r--r-- | man/xload.man | 17 | ||||
-rw-r--r-- | xload.c | 26 |
3 files changed, 35 insertions, 10 deletions
@@ -26,7 +26,7 @@ from the X Consortium. ---------------------------------------- -Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved. +Copyright (c) 2000, 2023, Oracle and/or its affiliates. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), diff --git a/man/xload.man b/man/xload.man index 358d162..89adade 100644 --- a/man/xload.man +++ b/man/xload.man @@ -3,11 +3,12 @@ .SH NAME xload \- system load average display for X .SH SYNOPSIS -\fBxload\fP [-\fItoolkitoption\fP ...] [-scale \fIinteger\fP] [-update \fIseconds\fP] -.br - [-hl \fIcolor\fP] [-highlight \fIcolor\fP] [-remote \fIhost\fP] -.br - [-jumpscroll \fIpixels\fP] [-label \fIstring\fP] [-nolabel] [-lights] +.nf +\fBxload\fP [-\fItoolkitoption\fP ...] [-scale \fIinteger\fP] [-update \fIseconds\fP] + [-hl \fIcolor\fP] [-highlight \fIcolor\fP] [-remote \fIhost\fP] + [-jumpscroll \fIpixels\fP] [-label \fIstring\fP] [-nolabel] [-lights] + [-help|-version] +.fi .SH DESCRIPTION The .I xload @@ -57,6 +58,12 @@ is 1 second. The default is 10. .TP 8 .B \-remote \fIhost\fP This option tells \fIxload\fP to display the load of \fIhost\fP instead of \fIlocalhost\fP. \fIXload\fP gets the information from the \fIrwhod\fP database and consequently requires \fIrwhod\fP to be executing both on \fIlocalhost\fP and \fIhost\fP. +.TP 8 +.B \-help +This option specifies that \fIxload\fP should print a usage message and exit. +.TP 8 +.B \-version +This option specifies that \fIxload\fP should print version info and exit. .SH RESOURCES In addition to the resources available to each of the widgets used by \fIxload\fP there is one resource defined by the application itself. @@ -28,7 +28,7 @@ from the X Consortium. */ /* - * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2023, Oracle and/or its affiliates. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -140,7 +140,7 @@ static int light_update = 10 * 1000; */ static void _X_NORETURN -usage(void) +usage(int exitval) { fprintf (stderr, gettext("usage: %s [-options ...]\n\n%s\n"), ProgramName, gettext( @@ -157,8 +157,10 @@ usage(void) " -nolabel removes the label from above the chart.\n" " -jumpscroll <value> number of pixels to scroll on overflow\n" " -lights use keyboard leds to display current load\n" + " -help print this message\n" + " -version print version info\n" )); - exit(1); + exit(exitval); } int @@ -175,6 +177,22 @@ main(int argc, char **argv) ProgramName = argv[0]; + /* Handle args that don't require opening a display or load info source */ + for (int n = 1; n < argc; n++) { + const char *argn = argv[n]; + /* accept single or double dash for -help & -version */ + if (argn[0] == '-' && argn[1] == '-') { + argn++; + } + if (strcmp(argn, "-help") == 0) { + usage(0); + } + if (strcmp(argn, "-version") == 0) { + puts(PACKAGE_STRING); + exit(0); + } + } + /* For security reasons, we reset our uid/gid after doing the necessary system initialization and before calling any X routines. */ InitLoadPoint(); @@ -213,7 +231,7 @@ main(int argc, char **argv) fprintf(stderr, " %s", argv[n]); } fputs("\n\n", stderr); - usage(); + usage(1); } XtGetApplicationResources( toplevel, (XtPointer) &resources, |