scripts: add -N option to mkhash for printing without newline
Added "-N" option, it allow printing hash(es) without newline. Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
This commit is contained in:
parent
4771fac99f
commit
fdcdbdfdef
|
@ -747,6 +747,7 @@ static int usage(const char *progname)
|
||||||
fprintf(stderr, "Usage: %s <hash type> [options] [<file>...]\n"
|
fprintf(stderr, "Usage: %s <hash type> [options] [<file>...]\n"
|
||||||
"Options:\n"
|
"Options:\n"
|
||||||
" -n Print filename(s)\n"
|
" -n Print filename(s)\n"
|
||||||
|
" -N Suppress trailing newline\n"
|
||||||
"\n"
|
"\n"
|
||||||
"Supported hash types:", progname);
|
"Supported hash types:", progname);
|
||||||
|
|
||||||
|
@ -771,7 +772,8 @@ static struct hash_type *get_hash_type(const char *name)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int hash_file(struct hash_type *t, const char *filename, bool add_filename)
|
static int hash_file(struct hash_type *t, const char *filename, bool add_filename,
|
||||||
|
bool no_newline)
|
||||||
{
|
{
|
||||||
const char *str;
|
const char *str;
|
||||||
|
|
||||||
|
@ -801,9 +803,10 @@ static int hash_file(struct hash_type *t, const char *filename, bool add_filenam
|
||||||
}
|
}
|
||||||
|
|
||||||
if (add_filename)
|
if (add_filename)
|
||||||
printf("%s %s\n", str, filename ? filename : "-");
|
printf("%s %s%s", str, filename ? filename : "-",
|
||||||
|
no_newline ? "" : "\n");
|
||||||
else
|
else
|
||||||
printf("%s\n", str);
|
printf("%s%s", str, no_newline ? "" : "\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -813,13 +816,16 @@ int main(int argc, char **argv)
|
||||||
struct hash_type *t;
|
struct hash_type *t;
|
||||||
const char *progname = argv[0];
|
const char *progname = argv[0];
|
||||||
int i, ch;
|
int i, ch;
|
||||||
bool add_filename = false;
|
bool add_filename = false, no_newline = false;
|
||||||
|
|
||||||
while ((ch = getopt(argc, argv, "n")) != -1) {
|
while ((ch = getopt(argc, argv, "nN")) != -1) {
|
||||||
switch (ch) {
|
switch (ch) {
|
||||||
case 'n':
|
case 'n':
|
||||||
add_filename = true;
|
add_filename = true;
|
||||||
break;
|
break;
|
||||||
|
case 'N':
|
||||||
|
no_newline = true;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return usage(progname);
|
return usage(progname);
|
||||||
}
|
}
|
||||||
|
@ -836,10 +842,10 @@ int main(int argc, char **argv)
|
||||||
return usage(progname);
|
return usage(progname);
|
||||||
|
|
||||||
if (argc < 2)
|
if (argc < 2)
|
||||||
return hash_file(t, NULL, add_filename);
|
return hash_file(t, NULL, add_filename, no_newline);
|
||||||
|
|
||||||
for (i = 0; i < argc - 1; i++) {
|
for (i = 0; i < argc - 1; i++) {
|
||||||
int ret = hash_file(t, argv[1 + i], add_filename);
|
int ret = hash_file(t, argv[1 + i], add_filename, no_newline);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue