add -0 for outputting null-terminated list (#68)
* add -0 for outputting null-terminated list this doesn't add much, if any, additional complexity to the codebase and can be quite handy for scripting purposes. Closes: https://github.com/nsxiv/nsxiv/issues/67 * Fix typo Co-authored-by: Berke Kocaoğlu <berke.kocaoglu@metu.edu.tr>
This commit is contained in:
parent
3234b0e521
commit
63972db743
@ -59,7 +59,7 @@ bool cg_quit(arg_t _)
|
|||||||
if (options->to_stdout && markcnt > 0) {
|
if (options->to_stdout && markcnt > 0) {
|
||||||
for (i = 0; i < filecnt; i++) {
|
for (i = 0; i < filecnt; i++) {
|
||||||
if (files[i].flags & FF_MARK)
|
if (files[i].flags & FF_MARK)
|
||||||
printf("%s\n", files[i].name);
|
printf("%s%c", files[i].name, options->stdout_separator);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exit(EXIT_SUCCESS);
|
exit(EXIT_SUCCESS);
|
||||||
|
1
nsxiv.h
1
nsxiv.h
@ -268,6 +268,7 @@ struct opt {
|
|||||||
char **filenames;
|
char **filenames;
|
||||||
bool from_stdin;
|
bool from_stdin;
|
||||||
bool to_stdout;
|
bool to_stdout;
|
||||||
|
char stdout_separator;
|
||||||
bool recursive;
|
bool recursive;
|
||||||
int filecnt;
|
int filecnt;
|
||||||
int startnum;
|
int startnum;
|
||||||
|
@ -52,6 +52,7 @@ void parse_options(int argc, char **argv)
|
|||||||
|
|
||||||
_options.from_stdin = false;
|
_options.from_stdin = false;
|
||||||
_options.to_stdout = false;
|
_options.to_stdout = false;
|
||||||
|
_options.stdout_separator = '\n';
|
||||||
_options.recursive = false;
|
_options.recursive = false;
|
||||||
_options.startnum = 0;
|
_options.startnum = 0;
|
||||||
|
|
||||||
@ -75,7 +76,7 @@ void parse_options(int argc, char **argv)
|
|||||||
_options.clean_cache = false;
|
_options.clean_cache = false;
|
||||||
_options.private_mode = false;
|
_options.private_mode = false;
|
||||||
|
|
||||||
while ((opt = getopt(argc, argv, "A:abce:fG:g:hin:N:opqrS:s:T:tvZz:")) != -1) {
|
while ((opt = getopt(argc, argv, "A:abce:fG:g:hin:N:0opqrS:s:T:tvZz:")) != -1) {
|
||||||
switch (opt) {
|
switch (opt) {
|
||||||
case '?':
|
case '?':
|
||||||
print_usage();
|
print_usage();
|
||||||
@ -128,6 +129,10 @@ void parse_options(int argc, char **argv)
|
|||||||
case 'N':
|
case 'N':
|
||||||
_options.res_name = optarg;
|
_options.res_name = optarg;
|
||||||
break;
|
break;
|
||||||
|
case '0':
|
||||||
|
_options.stdout_separator = '\0';
|
||||||
|
/* -0 implies -o */
|
||||||
|
/* fall through */
|
||||||
case 'o':
|
case 'o':
|
||||||
_options.to_stdout = true;
|
_options.to_stdout = true;
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user