summaryrefslogtreecommitdiffstats
path: root/contrib/less/screen.c
diff options
context:
space:
mode:
authordelphij <delphij@FreeBSD.org>2007-06-21 10:42:55 +0000
committerdelphij <delphij@FreeBSD.org>2007-06-21 10:42:55 +0000
commitbb6dbdf2f382ed564a935433f1553a0c588e0f5f (patch)
tree9b5ee02031fe0fca0fb931dda88350d289afe238 /contrib/less/screen.c
parent7672cb6e48e2ed472cbd72caaa0eb155608a644d (diff)
downloadFreeBSD-src-bb6dbdf2f382ed564a935433f1553a0c588e0f5f.zip
FreeBSD-src-bb6dbdf2f382ed564a935433f1553a0c588e0f5f.tar.gz
Virgin import of less v406.
Approved by: re (hrs)
Diffstat (limited to 'contrib/less/screen.c')
-rw-r--r--contrib/less/screen.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/contrib/less/screen.c b/contrib/less/screen.c
index 6c4fc84..51ab799 100644
--- a/contrib/less/screen.c
+++ b/contrib/less/screen.c
@@ -623,7 +623,25 @@ ltget_env(capname)
char *capname;
{
char name[16];
+ char *s;
+ s = lgetenv("LESS_TERMCAP_DEBUG");
+ if (s != NULL && *s != '\0')
+ {
+ struct env { struct env *next; char *name; char *value; };
+ static struct env *envs = NULL;
+ struct env *p;
+ for (p = envs; p != NULL; p = p->next)
+ if (strcmp(p->name, capname) == 0)
+ return p->value;
+ p = (struct env *) ecalloc(1, sizeof(struct env));
+ p->name = save(capname);
+ p->value = (char *) ecalloc(strlen(capname)+3, sizeof(char));
+ sprintf(p->value, "<%s>", capname);
+ p->next = envs;
+ envs = p;
+ return p->value;
+ }
strcpy(name, "LESS_TERMCAP_");
strcat(name, capname);
return (lgetenv(name));
OpenPOWER on IntegriCloud