less/backport-makecheck-0016-lesstest-add-O-option-to-lesstest.patch

73 lines
2.1 KiB
Diff

From 7e98aae468d3a33a3d48f5e28e81ed4041b7f33b Mon Sep 17 00:00:00 2001
From: Mark Nudelman <markn@greenwoodsoftware.com>
Date: Mon, 10 Oct 2022 12:31:07 -0700
Subject: [PATCH 10/48] lesstest: add -O option to lesstest.
---
lesstest/lesstest.c | 8 ++++++--
lesstest/pipeline.c | 4 ++++
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/lesstest/lesstest.c b/lesstest/lesstest.c
index 507cbb8..8c960ab 100644
--- a/lesstest/lesstest.c
+++ b/lesstest/lesstest.c
@@ -7,11 +7,12 @@ int verbose = 0;
int less_quit = 0;
int details = 0;
char* lt_screen = "./lt_screen";
+char* lt_screen_opts = NULL;
static char* testfile = NULL;
static int usage(void) {
- fprintf(stderr, "usage: lesstest -o file.lt [-w#] [-h#] [--] less.exe [flags] textfile\n");
+ fprintf(stderr, "usage: lesstest -o file.lt [-w#] [-h#] [-dv] [-S lt_screen-opts] [--] less.exe [flags] textfile\n");
fprintf(stderr, " or: lesstest -t file.lt less.exe\n");
return 0;
}
@@ -19,7 +20,7 @@ static int usage(void) {
static int setup(int argc, char* const* argv) {
char* logfile = NULL;
int ch;
- while ((ch = getopt(argc, argv, "do:s:t:v")) != -1) {
+ while ((ch = getopt(argc, argv, "do:s:S:t:v")) != -1) {
switch (ch) {
case 'd':
details = 1;
@@ -30,6 +31,9 @@ static int setup(int argc, char* const* argv) {
case 's':
lt_screen = optarg;
break;
+ case 'S':
+ lt_screen_opts = optarg;
+ break;
case 't':
testfile = optarg;
break;
diff --git a/lesstest/pipeline.c b/lesstest/pipeline.c
index 4e60e49..e988e4d 100644
--- a/lesstest/pipeline.c
+++ b/lesstest/pipeline.c
@@ -9,6 +9,7 @@
extern int verbose;
extern char* lt_screen;
+extern char* lt_screen_opts;
static const int run_less = 1;
static void dup_and_close(int dup0, int dup1, int close0, int close1) {
@@ -62,6 +63,9 @@ static void become_child_screen(char* lt_screen, int screen_width, int screen_he
screen_argv[screen_argc++] = "-h";
screen_argv[screen_argc++] = sh;
}
+ if (lt_screen_opts != NULL) {
+ screen_argv[screen_argc++] = lt_screen_opts;
+ }
if (1)
screen_argv[screen_argc++] = "-q";
if (verbose)
--
2.27.0