mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-12-04 12:28:58 +00:00
50 lines
724 B
C
50 lines
724 B
C
/*
|
|
* getother.c
|
|
*
|
|
* By Ross Ridge
|
|
* Public Domain
|
|
* 92/02/01 07:29:58
|
|
*
|
|
*/
|
|
|
|
#include "defs.h"
|
|
#include <term.h>
|
|
|
|
#ifdef USE_SCCS_IDS
|
|
static const char SCCSid[] = "@(#) mytinfo getother.c 3.2 92/02/01 public domain, By Ross Ridge";
|
|
#endif
|
|
|
|
int
|
|
_getother(name, path, ct)
|
|
char *name;
|
|
struct term_path *path;
|
|
TERMINAL *ct; {
|
|
static int depth = 0;
|
|
int r;
|
|
char buf[MAX_BUF];
|
|
|
|
if (depth >= MAX_DEPTH)
|
|
return 1; /* infinite loop */
|
|
|
|
#ifdef DEBUG
|
|
printf("\ngetother: %s\n", name);
|
|
#endif
|
|
|
|
switch(_findterm(name, path, buf)) {
|
|
case -3:
|
|
return 1;
|
|
case 1:
|
|
depth++;
|
|
r = _gettcap(buf, ct, path);
|
|
break;
|
|
case 2:
|
|
depth++;
|
|
r = _gettinfo(buf, ct, path);
|
|
break;
|
|
default:
|
|
return 0;
|
|
}
|
|
depth--;
|
|
return r;
|
|
}
|