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",
|
||||
"file containing the private key of the auditor", 1,
|
||||
&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",
|
||||
"public key of the exchange (Crockford base32 encoded)", 1,
|
||||
&GNUNET_GETOPT_set_filename, &exchange_public_key},
|
||||
{'u', "auditor-url", "URL",
|
||||
"URL of the auditor (informative link for the user)", 1,
|
||||
&GNUNET_GETOPT_set_string, &auditor_url},
|
||||
TALER_GETOPT_OPTION_HELP ("Private key of the auditor to use for signing"),
|
||||
{'r', "exchange-request", "FILE",
|
||||
"set of keys the exchange requested the auditor to sign", 1,
|
||||
&GNUNET_GETOPT_set_string, &exchange_request_file},
|
||||
|
@ -880,7 +880,7 @@ main (int argc,
|
||||
{'d', "exchange-dir", "DIR",
|
||||
"exchange directory with keys to update", 1,
|
||||
&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",
|
||||
"master key file (private key)", 1,
|
||||
&GNUNET_GETOPT_set_filename, &masterkeyfile},
|
||||
|
@ -69,7 +69,7 @@ main (int argc, char *const *argv)
|
||||
{'D', "details", "JSON",
|
||||
"details about the bank transaction which justify why we add this amount", 1,
|
||||
&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",
|
||||
"reserve (public key) to modify", 1,
|
||||
&GNUNET_GETOPT_set_string, &reserve_pub_str},
|
||||
|
@ -72,7 +72,7 @@ main (int argc,
|
||||
{'o', "output", "FILE",
|
||||
"where to write the result", 1,
|
||||
&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_END
|
||||
};
|
||||
|
@ -993,11 +993,10 @@ main (int argc,
|
||||
{'f', "format", "WIREFORMAT",
|
||||
"wireformat to use, overrides WIREFORMAT option in [exchange] section", 1,
|
||||
&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,
|
||||
"run in test mode with temporary tables", 0,
|
||||
&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_END
|
||||
};
|
||||
|
@ -630,7 +630,7 @@ main (int argc,
|
||||
"run in test-mode using FILENAME as the HTTP request to process", 1,
|
||||
&GNUNET_GETOPT_set_filename, &input_filename},
|
||||
#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_END
|
||||
};
|
||||
|
@ -121,28 +121,4 @@ TALER_config_get_denom (struct GNUNET_CONFIGURATION_Handle *cfg,
|
||||
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
|
||||
|
@ -35,12 +35,14 @@ static const struct GNUNET_OS_ProjectData taler_pd = {
|
||||
.libname = "libtalerutil",
|
||||
.project_dirname = "taler",
|
||||
.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 *
|
||||
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 */
|
||||
|
Loading…
Reference in New Issue
Block a user