+#ifdef USE_XTERM_PTY
+ int amaster;
+ int aslave;
+ char slave_name[1024];
+ char s_option[1024];
+ char *leaf;
+
+ if (openpty(&amaster, &aslave, slave_name, 0, 0) != 0)
+ failed("openpty");
+ if ((leaf = strrchr(slave_name, '/')) == 0) {
+ errno = EISDIR;
+ failed(slave_name);
+ }
+ sprintf(s_option, "-S%s/%d", slave_name, aslave);
+ if (fork()) {
+ execlp("xterm", "xterm", s_option, "-title", path, (char *) 0);
+ _exit(0);
+ }
+ fp = fdopen(amaster, "r+");
+#else