removing duplication of --help logic
This commit is contained in:
parent
d986269dae
commit
e00370d4f5
@ -135,14 +135,13 @@ main (int argc,
|
|||||||
{'a', "auditor-key", "FILE",
|
{'a', "auditor-key", "FILE",
|
||||||
"file containing the private key of the auditor", 1,
|
"file containing the private key of the auditor", 1,
|
||||||
&GNUNET_GETOPT_set_filename, &auditor_key_file},
|
&GNUNET_GETOPT_set_filename, &auditor_key_file},
|
||||||
TALER_GETOPT_OPTION_HELP ("Private key of the auditor to use for signing"),
|
GNUNET_GETOPT_OPTION_HELP ("Private key of the auditor to use for signing"),
|
||||||
{'m', "exchange-key", "KEY",
|
{'m', "exchange-key", "KEY",
|
||||||
"public key of the exchange (Crockford base32 encoded)", 1,
|
"public key of the exchange (Crockford base32 encoded)", 1,
|
||||||
&GNUNET_GETOPT_set_filename, &exchange_public_key},
|
&GNUNET_GETOPT_set_filename, &exchange_public_key},
|
||||||
{'u', "auditor-url", "URL",
|
{'u', "auditor-url", "URL",
|
||||||
"URL of the auditor (informative link for the user)", 1,
|
"URL of the auditor (informative link for the user)", 1,
|
||||||
&GNUNET_GETOPT_set_string, &auditor_url},
|
&GNUNET_GETOPT_set_string, &auditor_url},
|
||||||
TALER_GETOPT_OPTION_HELP ("Private key of the auditor to use for signing"),
|
|
||||||
{'r', "exchange-request", "FILE",
|
{'r', "exchange-request", "FILE",
|
||||||
"set of keys the exchange requested the auditor to sign", 1,
|
"set of keys the exchange requested the auditor to sign", 1,
|
||||||
&GNUNET_GETOPT_set_string, &exchange_request_file},
|
&GNUNET_GETOPT_set_string, &exchange_request_file},
|
||||||
|
@ -880,7 +880,7 @@ main (int argc,
|
|||||||
{'d', "exchange-dir", "DIR",
|
{'d', "exchange-dir", "DIR",
|
||||||
"exchange directory with keys to update", 1,
|
"exchange directory with keys to update", 1,
|
||||||
&GNUNET_GETOPT_set_filename, &exchange_directory},
|
&GNUNET_GETOPT_set_filename, &exchange_directory},
|
||||||
TALER_GETOPT_OPTION_HELP ("Setup signing and denomination keys for a Taler exchange"),
|
GNUNET_GETOPT_OPTION_HELP ("Setup signing and denomination keys for a Taler exchange"),
|
||||||
{'m', "master-key", "FILE",
|
{'m', "master-key", "FILE",
|
||||||
"master key file (private key)", 1,
|
"master key file (private key)", 1,
|
||||||
&GNUNET_GETOPT_set_filename, &masterkeyfile},
|
&GNUNET_GETOPT_set_filename, &masterkeyfile},
|
||||||
|
@ -69,7 +69,7 @@ main (int argc, char *const *argv)
|
|||||||
{'D', "details", "JSON",
|
{'D', "details", "JSON",
|
||||||
"details about the bank transaction which justify why we add this amount", 1,
|
"details about the bank transaction which justify why we add this amount", 1,
|
||||||
&GNUNET_GETOPT_set_string, &details},
|
&GNUNET_GETOPT_set_string, &details},
|
||||||
TALER_GETOPT_OPTION_HELP ("Deposit funds into a Taler reserve"),
|
GNUNET_GETOPT_OPTION_HELP ("Deposit funds into a Taler reserve"),
|
||||||
{'R', "reserve", "KEY",
|
{'R', "reserve", "KEY",
|
||||||
"reserve (public key) to modify", 1,
|
"reserve (public key) to modify", 1,
|
||||||
&GNUNET_GETOPT_set_string, &reserve_pub_str},
|
&GNUNET_GETOPT_set_string, &reserve_pub_str},
|
||||||
|
@ -72,7 +72,7 @@ main (int argc,
|
|||||||
{'o', "output", "FILE",
|
{'o', "output", "FILE",
|
||||||
"where to write the result", 1,
|
"where to write the result", 1,
|
||||||
&GNUNET_GETOPT_set_filename, &output_filename},
|
&GNUNET_GETOPT_set_filename, &output_filename},
|
||||||
TALER_GETOPT_OPTION_HELP ("Setup /wire response"),
|
GNUNET_GETOPT_OPTION_HELP ("Setup /wire response"),
|
||||||
GNUNET_GETOPT_OPTION_VERSION (VERSION "-" VCS_VERSION),
|
GNUNET_GETOPT_OPTION_VERSION (VERSION "-" VCS_VERSION),
|
||||||
GNUNET_GETOPT_OPTION_END
|
GNUNET_GETOPT_OPTION_END
|
||||||
};
|
};
|
||||||
|
@ -993,11 +993,10 @@ main (int argc,
|
|||||||
{'f', "format", "WIREFORMAT",
|
{'f', "format", "WIREFORMAT",
|
||||||
"wireformat to use, overrides WIREFORMAT option in [exchange] section", 1,
|
"wireformat to use, overrides WIREFORMAT option in [exchange] section", 1,
|
||||||
&GNUNET_GETOPT_set_filename, &exchange_wireformat},
|
&GNUNET_GETOPT_set_filename, &exchange_wireformat},
|
||||||
TALER_GETOPT_OPTION_HELP ("background process that aggregates and executes wire transfers to merchants"),
|
GNUNET_GETOPT_OPTION_HELP ("background process that aggregates and executes wire transfers to merchants"),
|
||||||
{'t', "test", NULL,
|
{'t', "test", NULL,
|
||||||
"run in test mode with temporary tables", 0,
|
"run in test mode with temporary tables", 0,
|
||||||
&GNUNET_GETOPT_set_one, &test_mode},
|
&GNUNET_GETOPT_set_one, &test_mode},
|
||||||
TALER_GETOPT_OPTION_HELP ("background process that aggregates and executes wire transfers to merchants"),
|
|
||||||
GNUNET_GETOPT_OPTION_VERSION (VERSION "-" VCS_VERSION),
|
GNUNET_GETOPT_OPTION_VERSION (VERSION "-" VCS_VERSION),
|
||||||
GNUNET_GETOPT_OPTION_END
|
GNUNET_GETOPT_OPTION_END
|
||||||
};
|
};
|
||||||
|
@ -630,7 +630,7 @@ main (int argc,
|
|||||||
"run in test-mode using FILENAME as the HTTP request to process", 1,
|
"run in test-mode using FILENAME as the HTTP request to process", 1,
|
||||||
&GNUNET_GETOPT_set_filename, &input_filename},
|
&GNUNET_GETOPT_set_filename, &input_filename},
|
||||||
#endif
|
#endif
|
||||||
TALER_GETOPT_OPTION_HELP ("HTTP server providing a RESTful API to access a Taler exchange"),
|
GNUNET_GETOPT_OPTION_HELP ("HTTP server providing a RESTful API to access a Taler exchange"),
|
||||||
GNUNET_GETOPT_OPTION_VERSION (VERSION "-" VCS_VERSION),
|
GNUNET_GETOPT_OPTION_VERSION (VERSION "-" VCS_VERSION),
|
||||||
GNUNET_GETOPT_OPTION_END
|
GNUNET_GETOPT_OPTION_END
|
||||||
};
|
};
|
||||||
|
@ -121,28 +121,4 @@ TALER_config_get_denom (struct GNUNET_CONFIGURATION_Handle *cfg,
|
|||||||
struct TALER_Amount *denom);
|
struct TALER_Amount *denom);
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Print out details on command line options (implements --help).
|
|
||||||
*
|
|
||||||
* @param ctx command line processing context
|
|
||||||
* @param scls additional closure (points to about text)
|
|
||||||
* @param option name of the option
|
|
||||||
* @param value not used (NULL)
|
|
||||||
* @return #GNUNET_NO (do not continue, not an error)
|
|
||||||
*/
|
|
||||||
int
|
|
||||||
TALER_GETOPT_format_help_ (struct GNUNET_GETOPT_CommandLineProcessorContext *ctx,
|
|
||||||
void *scls,
|
|
||||||
const char *option,
|
|
||||||
const char *value);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Macro defining the option to print the command line
|
|
||||||
* help text (-h option).
|
|
||||||
*
|
|
||||||
* @param about string with brief description of the application
|
|
||||||
*/
|
|
||||||
#define TALER_GETOPT_OPTION_HELP(about) \
|
|
||||||
{ 'h', "help", (const char *) NULL, gettext_noop("print this help"), 0, &TALER_GETOPT_format_help_, (void *) about }
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -35,12 +35,14 @@ static const struct GNUNET_OS_ProjectData taler_pd = {
|
|||||||
.libname = "libtalerutil",
|
.libname = "libtalerutil",
|
||||||
.project_dirname = "taler",
|
.project_dirname = "taler",
|
||||||
.binary_name = "taler-exchange-httpd",
|
.binary_name = "taler-exchange-httpd",
|
||||||
.env_varname = "TALER_PREFIX"
|
.env_varname = "TALER_PREFIX",
|
||||||
|
.bug_email = "taler@gnu.org",
|
||||||
|
.homepage = "http://www.gnu.org/s/taler/",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return default project data used by gnunet-gtk.
|
* Return default project data used by Taler.
|
||||||
*/
|
*/
|
||||||
const struct GNUNET_OS_ProjectData *
|
const struct GNUNET_OS_ProjectData *
|
||||||
TALER_project_data_default (void)
|
TALER_project_data_default (void)
|
||||||
|
108
src/util/util.c
108
src/util/util.c
@ -116,112 +116,4 @@ TALER_config_load (const char *base_dir)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* At what offset does the help text start?
|
|
||||||
*/
|
|
||||||
#define BORDER 29
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Print out details on command line options (implements --help).
|
|
||||||
*
|
|
||||||
* @param ctx command line processing context
|
|
||||||
* @param scls additional closure (points to about text)
|
|
||||||
* @param option name of the option
|
|
||||||
* @param value not used (NULL)
|
|
||||||
* @return #GNUNET_NO (do not continue, not an error)
|
|
||||||
*/
|
|
||||||
int
|
|
||||||
TALER_GETOPT_format_help_ (struct GNUNET_GETOPT_CommandLineProcessorContext *ctx,
|
|
||||||
void *scls,
|
|
||||||
const char *option,
|
|
||||||
const char *value)
|
|
||||||
{
|
|
||||||
const char *about = scls;
|
|
||||||
size_t slen;
|
|
||||||
unsigned int i;
|
|
||||||
int j;
|
|
||||||
size_t ml;
|
|
||||||
size_t p;
|
|
||||||
char *scp;
|
|
||||||
const char *trans;
|
|
||||||
const struct GNUNET_GETOPT_CommandLineOption *opt;
|
|
||||||
|
|
||||||
if (NULL != about)
|
|
||||||
{
|
|
||||||
printf ("%s\n%s\n",
|
|
||||||
ctx->binaryOptions,
|
|
||||||
gettext (about));
|
|
||||||
printf (_("Arguments mandatory for long options are also mandatory for short options.\n"));
|
|
||||||
}
|
|
||||||
opt = ctx->allOptions;
|
|
||||||
for (i=0;NULL != opt[i].description;i++)
|
|
||||||
{
|
|
||||||
if (opt[i].shortName == '\0')
|
|
||||||
printf (" ");
|
|
||||||
else
|
|
||||||
printf (" -%c, ", opt[i].shortName);
|
|
||||||
printf ("--%s", opt[i].name);
|
|
||||||
slen = 8 + strlen (opt[i].name);
|
|
||||||
if (opt[i].argumentHelp != NULL)
|
|
||||||
{
|
|
||||||
printf ("=%s", opt[i].argumentHelp);
|
|
||||||
slen += 1 + strlen (opt[i].argumentHelp);
|
|
||||||
}
|
|
||||||
if (slen > BORDER)
|
|
||||||
{
|
|
||||||
printf ("\n%*s", BORDER, "");
|
|
||||||
slen = BORDER;
|
|
||||||
}
|
|
||||||
if (slen < BORDER)
|
|
||||||
{
|
|
||||||
printf ("%*s", (int) (BORDER - slen), "");
|
|
||||||
slen = BORDER;
|
|
||||||
}
|
|
||||||
if (0 < strlen (opt[i].description))
|
|
||||||
trans = gettext (opt[i].description);
|
|
||||||
else
|
|
||||||
trans = "";
|
|
||||||
ml = strlen (trans);
|
|
||||||
p = 0;
|
|
||||||
OUTER:
|
|
||||||
while (ml - p > 78 - slen)
|
|
||||||
{
|
|
||||||
for (j = p + 78 - slen; j > p; j--)
|
|
||||||
{
|
|
||||||
if (isspace ((unsigned char) trans[j]))
|
|
||||||
{
|
|
||||||
scp = GNUNET_malloc (j - p + 1);
|
|
||||||
memcpy (scp, &trans[p], j - p);
|
|
||||||
scp[j - p] = '\0';
|
|
||||||
printf ("%s\n%*s", scp, BORDER + 2, "");
|
|
||||||
GNUNET_free (scp);
|
|
||||||
p = j + 1;
|
|
||||||
slen = BORDER + 2;
|
|
||||||
goto OUTER;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* could not find space to break line */
|
|
||||||
scp = GNUNET_malloc (78 - slen + 1);
|
|
||||||
memcpy (scp, &trans[p], 78 - slen);
|
|
||||||
scp[78 - slen] = '\0';
|
|
||||||
printf ("%s\n%*s", scp, BORDER + 2, "");
|
|
||||||
GNUNET_free (scp);
|
|
||||||
slen = BORDER + 2;
|
|
||||||
p = p + 78 - slen;
|
|
||||||
}
|
|
||||||
/* print rest */
|
|
||||||
if (p < ml)
|
|
||||||
printf ("%s\n", &trans[p]);
|
|
||||||
if (strlen (trans) == 0)
|
|
||||||
printf ("\n");
|
|
||||||
}
|
|
||||||
printf ("Report bugs to taler@gnu.org.\n"
|
|
||||||
"Taler home page: http://www.gnu.org/software/taler/\n"
|
|
||||||
"General help using GNU software: http://www.gnu.org/gethelp/\n");
|
|
||||||
return GNUNET_NO;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* end of util.c */
|
/* end of util.c */
|
||||||
|
Loading…
Reference in New Issue
Block a user