Skip to content
Snippets Groups Projects
Commit 89857b00 authored by Moe Jette's avatar Moe Jette
Browse files

Add support for sinfo -V or --version option.

parent 6f296810
No related branches found
No related tags found
No related merge requests found
...@@ -50,6 +50,8 @@ ...@@ -50,6 +50,8 @@
#define OPT_LONG 0x0a #define OPT_LONG 0x0a
#define OPT_SHORT 0x0b #define OPT_SHORT 0x0b
#define OPT_NO_HEAD 0x0c #define OPT_NO_HEAD 0x0c
#define OPT_VERSION 0x0d
/* FUNCTIONS */ /* FUNCTIONS */
static char *_get_prefix(char *token); static char *_get_prefix(char *token);
...@@ -58,6 +60,7 @@ static int _parse_state(char *str, enum node_states *states); ...@@ -58,6 +60,7 @@ static int _parse_state(char *str, enum node_states *states);
static void _parse_token( char *token, char *field, int *field_size, static void _parse_token( char *token, char *field, int *field_size,
bool *right_justify, char **suffix); bool *right_justify, char **suffix);
static void _print_options( void ); static void _print_options( void );
static void _print_version( void );
/* /*
* parse_command_line * parse_command_line
...@@ -99,6 +102,8 @@ int parse_command_line(int argc, char *argv[]) ...@@ -99,6 +102,8 @@ int parse_command_line(int argc, char *argv[])
OPT_NO_HEAD, "no headers on output", NULL}, OPT_NO_HEAD, "no headers on output", NULL},
{"format", 'o', POPT_ARG_STRING, &params.format, OPT_FORMAT, {"format", 'o', POPT_ARG_STRING, &params.format, OPT_FORMAT,
"format specification", "format"}, "format specification", "format"},
{"version", 'V', POPT_ARG_NONE, 0, OPT_VERSION,
"output version information and exit", NULL},
POPT_AUTOHELP POPT_AUTOHELP
{NULL, '\0', 0, NULL, 0, NULL, NULL} /* end */ {NULL, '\0', 0, NULL, 0, NULL, NULL} /* end */
}; };
...@@ -110,15 +115,24 @@ int parse_command_line(int argc, char *argv[]) ...@@ -110,15 +115,24 @@ int parse_command_line(int argc, char *argv[])
poptSetOtherOptionHelp(context, "[-elNsv]"); poptSetOtherOptionHelp(context, "[-elNsv]");
while ((curr_opt = poptGetNextOpt(context)) > 0) { while ((curr_opt = poptGetNextOpt(context)) > 0) {
if (curr_opt == OPT_NODE_STATE) { switch ( curr_opt )
params.state_flag = true; {
if (_parse_state(temp_state, &params.state) case OPT_NODE_STATE:
== SLURM_ERROR) { params.state_flag = true;
fprintf(stderr, if (_parse_state(temp_state, &params.state)
"%s: %s is invalid node state\n", == SLURM_ERROR) {
argv[0], temp_state); fprintf(stderr,
exit(1); "%s: %s is invalid node state\n",
} argv[0], temp_state);
exit(1);
}
break;
case OPT_VERSION:
_print_version();
exit(0);
break;
default:
break;
} }
} }
if (curr_opt < -1) { if (curr_opt < -1) {
...@@ -425,4 +439,9 @@ void _print_options( void ) ...@@ -425,4 +439,9 @@ void _print_options( void )
printf("-----------------------------\n\n"); printf("-----------------------------\n\n");
} }
static void _print_version(void)
{
printf("%s %s\n", PACKAGE, SLURM_VERSION);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment