summaryrefslogtreecommitdiff
path: root/usr/src/lib/libcurses/screen/setupterm.c
diff options
context:
space:
mode:
authorRobert Mustacchi <rm@joyent.com>2014-07-28 05:15:24 +0000
committerRobert Mustacchi <rm@joyent.com>2014-07-30 10:12:47 +0000
commit29e61af1e4197a2257d9f07c6ea4da563d19856a (patch)
tree890a31a717d54243d68553828cb3011b24f4b6b7 /usr/src/lib/libcurses/screen/setupterm.c
parent773ec6987ca1e06d93c1cadbada051c3be95aaed (diff)
downloadillumos-joyent-29e61af1e4197a2257d9f07c6ea4da563d19856a.tar.gz
OS-3280 need a way to specify the root of a native system in the lx brand
OS-3279 lx brand should allow delegated datasets Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Diffstat (limited to 'usr/src/lib/libcurses/screen/setupterm.c')
-rw-r--r--usr/src/lib/libcurses/screen/setupterm.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/usr/src/lib/libcurses/screen/setupterm.c b/usr/src/lib/libcurses/screen/setupterm.c
index c1f4bdeb04..f67e8751b7 100644
--- a/usr/src/lib/libcurses/screen/setupterm.c
+++ b/usr/src/lib/libcurses/screen/setupterm.c
@@ -37,8 +37,6 @@
* contributors.
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
-
/*LINTLIBRARY*/
#include <stdio.h>
@@ -48,6 +46,7 @@
#include <string.h>
#include <unistd.h>
#include <errno.h>
+#include <zone.h>
#include "curses_inc.h"
#define TERMPATH "/usr/share/lib/terminfo/"
@@ -272,9 +271,11 @@ setupterm(char *term, int filenum, int *errret)
}
if (tfd < 0) {
+ const char *zroot = zone_get_nroot();
/* /usr/share/lib/terminfo/?/$TERM */
if (snprintf(fname, sizeof (fname),
- "%s/%c/%s", TERMPATH, *term, term) >= sizeof (fname)) {
+ "%s/%s/%c/%s", zroot == NULL ? "" : zroot, TERMPATH,
+ *term, term) >= sizeof (fname)) {
term_errno = TERMINFO_TOO_LONG;
goto out_err;
}