mirror of
https://gitlab.com/openconnect/ocserv.git
synced 2026-02-10 08:46:58 +08:00
occtl: allow empty pager to be specified on compile time
This commit is contained in:
10
configure.ac
10
configure.ac
@@ -316,10 +316,14 @@ if [ test "$anyconnect_enabled" = "yes" ];then
|
||||
AC_DEFINE([ANYCONNECT_CLIENT_COMPAT], [], [Enable Anyconnect compatibility])
|
||||
fi
|
||||
|
||||
pager_set=0
|
||||
AC_ARG_WITH(pager,
|
||||
AS_HELP_STRING([--with-pager=PAGER], [set a specific pager for occtl]),
|
||||
occtl_pager=$withval)
|
||||
if [ test -z "$occtl_pager" ];then
|
||||
AS_HELP_STRING([--with-pager=PAGER], [set a specific pager for occtl; use "" for no pager]),
|
||||
occtl_pager=$withval
|
||||
pager_set=1
|
||||
)
|
||||
|
||||
if [ test $pager_set = 0 ];then
|
||||
AC_DEFINE_UNQUOTED([OCCTL_PAGER], ["less"], [The default pager for occtl])
|
||||
else
|
||||
AC_DEFINE_UNQUOTED([OCCTL_PAGER], ["$occtl_pager"], [The default pager for occtl])
|
||||
|
||||
@@ -28,7 +28,8 @@
|
||||
|
||||
static const char* get_pager(void)
|
||||
{
|
||||
char* pager;
|
||||
char* pager;
|
||||
|
||||
pager = getenv("OCCTL_PAGER");
|
||||
if (pager == NULL)
|
||||
pager = getenv("PAGER");
|
||||
@@ -41,7 +42,8 @@ char* pager;
|
||||
/* Always succeeds */
|
||||
FILE* pager_start(cmd_params_st *params)
|
||||
{
|
||||
FILE *fp;
|
||||
FILE *fp;
|
||||
const char *pager;
|
||||
|
||||
if (params && params->no_pager != 0)
|
||||
return stdout;
|
||||
@@ -51,10 +53,15 @@ FILE *fp;
|
||||
return stdout;
|
||||
#endif
|
||||
|
||||
pager = get_pager();
|
||||
if (pager == NULL || pager[0] == 0)
|
||||
return stdout;
|
||||
|
||||
if (!getenv("LESS")) {
|
||||
setenv("LESS", "FRSX", 1);
|
||||
}
|
||||
fp = popen(get_pager(), "w");
|
||||
|
||||
fp = popen(pager, "w");
|
||||
|
||||
if (fp == NULL) { /* no pager */
|
||||
fprintf(stderr, "unable to start pager; check your $PAGER environment variable\n");
|
||||
|
||||
Reference in New Issue
Block a user