home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume22 / ecu / patch05c < prev    next >
Text File  |  1991-09-04  |  51KB  |  1,734 lines

  1. Newsgroups: comp.sources.misc
  2. From: Warren Tucker <wht@n4hgf.GA.US>
  3. Subject:  v22i092:  ecu - ECU async comm package rev 3.10, Patch05c/5
  4. Message-ID: <1991Sep4.160214.28374@sparky.IMD.Sterling.COM>
  5. X-Md4-Signature: 81dac3ce604f8b13ad3babeddb1e420b
  6. Date: Wed, 4 Sep 1991 16:02:14 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: Warren Tucker <wht@n4hgf.GA.US>
  10. Posting-number: Volume 22, Issue 92
  11. Archive-name: ecu/patch05c
  12. Environment: SCO, XENIX, ISC, SUNOS4.1, SYSVR4
  13. Patch-To: ecu: Volume 21, Issue 53-89
  14.  
  15. #!/bin/sh
  16. # this is p5.03 (part 3 of ecu/patch05)
  17. # do not concatenate these parts, unpack them in order with /bin/sh
  18. # file PATCH5.01 continued
  19. #
  20. if test ! -r _shar_seq_.tmp; then
  21.     echo 'Please unpack part 1 first!'
  22.     exit 1
  23. fi
  24. (read Scheck
  25.  if test "$Scheck" != 3; then
  26.     echo Please unpack part "$Scheck" next!
  27.     exit 1
  28.  else
  29.     exit 0
  30.  fi
  31. ) < _shar_seq_.tmp || exit 1
  32. if test ! -f _shar_wnt_.tmp; then
  33.     echo 'x - still skipping PATCH5.01'
  34. else
  35. echo 'x - continuing file PATCH5.01'
  36. sed 's/^X//' << 'SHAR_EOF' >> 'PATCH5.01' &&
  37. X  #endif
  38. X  
  39. X- #ifdef WHT /* for testing */
  40. X- extern int tty_is_ansi;
  41. X- #endif
  42. X  extern int tty_is_multiscreen;
  43. X  
  44. X  unsigned char sTL = at_TL;
  45. X--- 41,46 ----
  46. X*** /export/home/wht/src/ecu314/ecuxenix.c    Wed Sep  4 00:25:07 1991
  47. X--- ecuxenix.c    Tue Sep  3 19:45:23 1991
  48. X***************
  49. X*** 23,29 ****
  50. X    This module is a grab bag for historical reasons.  Needs reorg.
  51. X  ------------------------------------------------------------------*/
  52. X  /*+:EDITS:*/
  53. X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by slootman@dri.nl */
  54. X  /*:08-13-1991-15:28-wht@n4hgf-more problems with history manager */
  55. X  /*:07-25-1991-12:57-wht@n4hgf-ECU release 3.10 */
  56. X  /*:07-17-1991-07:04-wht@n4hgf-avoid SCO UNIX nap bug */
  57. X--- 23,30 ----
  58. X    This module is a grab bag for historical reasons.  Needs reorg.
  59. X  ------------------------------------------------------------------*/
  60. X  /*+:EDITS:*/
  61. X! /*:09-03-1991-18:23-wht@n4hgf-sigint rearrangement in send_get_response */
  62. X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by aega84!lh */
  63. X  /*:08-13-1991-15:28-wht@n4hgf-more problems with history manager */
  64. X  /*:07-25-1991-12:57-wht@n4hgf-ECU release 3.10 */
  65. X  /*:07-17-1991-07:04-wht@n4hgf-avoid SCO UNIX nap bug */
  66. X***************
  67. X*** 58,64 ****
  68. X  extern char keyset_name[];
  69. X  extern int want_bell_notify;    /* want bell notify */
  70. X  extern int rcvr_pid;
  71. X- extern int sigint;
  72. X  extern int tty_is_multiscreen;
  73. X  
  74. X  ESD *icmd_prompt;        /* interactive command prompt */
  75. X--- 59,64 ----
  76. X***************
  77. X*** 131,136 ****
  78. X--- 131,137 ----
  79. X  int ttygets_flags = TG_XDELIM;
  80. X  uchar delim;
  81. X  int strpos;
  82. X+ int old_ttymode = get_ttymode();
  83. X  register backspace_count;
  84. X  register KDE *tkde;
  85. X  uchar icmd_buf[128];
  86. X***************
  87. X*** 150,156 ****
  88. X              ring_bell();
  89. X          sigint = 0;
  90. X          proc_file_reset();
  91. X!         ttymode(1);
  92. X          if(rcvr_alive)
  93. X              start_rcvr_process(0);
  94. X          return(1);
  95. X--- 151,157 ----
  96. X              ring_bell();
  97. X          sigint = 0;
  98. X          proc_file_reset();
  99. X!         ttymode(old_ttymode);
  100. X          if(rcvr_alive)
  101. X              start_rcvr_process(0);
  102. X          return(1);
  103. X***************
  104. X*** 462,478 ****
  105. X          file = "/usr/demo/SOUND/sounds/gong.au";
  106. X          break;
  107. X      case XBELL_ATTENTION:
  108. X!         file = "/usr/demo/SOUND/sounds/whistle.au";
  109. X          break;
  110. X      case XBELL_C:
  111. X!         file = "/usr/demo/SOUND/sounds/whistle.au";
  112. X          break;
  113. X      case XBELL_3T:
  114. X!         file = "/usr/demo/SOUND/sounds/doorbell.au";
  115. X          break;
  116. X      default:
  117. X          break;
  118. X      }
  119. X  }    /* end of audio_notify */
  120. X  #endif
  121. X  
  122. X--- 463,481 ----
  123. X          file = "/usr/demo/SOUND/sounds/gong.au";
  124. X          break;
  125. X      case XBELL_ATTENTION:
  126. X!         file = "/usr/demo/SOUND/sounds/clink.au";
  127. X          break;
  128. X      case XBELL_C:
  129. X!         file = "/usr/demo/SOUND/sounds/touchtone.[159].au";
  130. X          break;
  131. X      case XBELL_3T:
  132. X!         file = "/usr/demo/SOUND/sounds/cowbell.au";
  133. X          break;
  134. X      default:
  135. X+         file = "/usr/demo/SOUND/sounds/whistle.au";
  136. X          break;
  137. X      }
  138. X+     audio_play(file);
  139. X  }    /* end of audio_notify */
  140. X  #endif
  141. X  
  142. X***************
  143. X*** 555,561 ****
  144. X  {
  145. X  #if defined(M_SYSV)
  146. X      if(
  147. X! #ifndef WHT
  148. X          tty_is_multiscreen &&
  149. X  #endif
  150. X               want_bell_notify)
  151. X--- 558,564 ----
  152. X  {
  153. X  #if defined(M_SYSV)
  154. X      if(
  155. X! #if !defined(WHT) && !defined(PTY_BELL_NOTIFY)
  156. X          tty_is_multiscreen &&
  157. X  #endif
  158. X               want_bell_notify)
  159. X***************
  160. X*** 708,735 ****
  161. X      lr.bufsize = sizeof(buf);
  162. X      lr.delim = (char *)0;
  163. X      lr.echo_flag = 0;
  164. X-     sigint = 0;
  165. X  
  166. X      /*
  167. X       * stimulus/response
  168. X       */
  169. X!     fputs("  ... wait ... ",se);
  170. X      respond(arg[2]);
  171. X!     lgets_timeout(&lr);
  172. X!     fputs("done\r\n",se);
  173. X  
  174. X!     /*
  175. X!      * log response if possible and display on screen
  176. X!      */
  177. X!     if((fplog = fopen(fname,"a")) == NULL)
  178. X!         pperror(fname);
  179. X      else
  180. X      {
  181. X!         fprintf(fplog,"\nMode: %d Stimulus: %s",mode,arg[2]);
  182. X!         hex_dump_fp(fplog,buf,lr.count,"Response",(lr.count <= 16));
  183. X!         fclose(fplog);
  184. X      }
  185. X!     hex_dump(buf,lr.count,"Response",(lr.count <= 16));
  186. X      if(rcvr_alive)
  187. X          start_rcvr_process(0);
  188. X  }    /* end of send_get_response */
  189. X--- 711,749 ----
  190. X      lr.bufsize = sizeof(buf);
  191. X      lr.delim = (char *)0;
  192. X      lr.echo_flag = 0;
  193. X  
  194. X      /*
  195. X       * stimulus/response
  196. X       */
  197. X!     ff(se,"  ... wait ... ");
  198. X      respond(arg[2]);
  199. X!     if(!sigint)
  200. X!     {
  201. X!         lgets_timeout(&lr);
  202. X!         if(sigint)
  203. X!             goto INTERRUPTED;
  204. X!         ff(se,"done\r\n");
  205. X  
  206. X!         /*
  207. X!          * log response if possible and display on screen
  208. X!          */
  209. X!         if((fplog = fopen(fname,"a")) == NULL)
  210. X!             pperror(fname);
  211. X!         else
  212. X!         {
  213. X!             fprintf(fplog,"\nMode: %d Stimulus: %s",mode,arg[2]);
  214. X!             hex_dump_fp(fplog,buf,lr.count,"Response",(lr.count <= 16));
  215. X!             fclose(fplog);
  216. X!         }
  217. X!         hex_dump(buf,lr.count,"Response",(lr.count <= 16));
  218. X!     }
  219. X      else
  220. X      {
  221. X! INTERRUPTED:
  222. X!         sigint = 0;
  223. X!         ff(se,"interrupted\r\n");
  224. X      }
  225. X! 
  226. X      if(rcvr_alive)
  227. X          start_rcvr_process(0);
  228. X  }    /* end of send_get_response */
  229. X***************
  230. X*** 737,743 ****
  231. X  /*+-------------------------------------------------------------------------
  232. X      xterm_title(text,code) - experimental - watch this space
  233. X  --------------------------------------------------------------------------*/
  234. X! #ifdef WHT
  235. X  void
  236. X  xterm_title(text,code)
  237. X  char *text;
  238. X--- 751,757 ----
  239. X  /*+-------------------------------------------------------------------------
  240. X      xterm_title(text,code) - experimental - watch this space
  241. X  --------------------------------------------------------------------------*/
  242. X! #if defined(WHT) || defined(XTERM_FRIEND)
  243. X  void
  244. X  xterm_title(text,code)
  245. X  char *text;
  246. X*** /export/home/wht/src/ecu314/ecuxfer.c    Wed Sep  4 00:25:07 1991
  247. X--- ecuxfer.c    Mon Sep  2 20:51:43 1991
  248. X***************
  249. X*** 35,41 ****
  250. X  
  251. X  --------------------------------------------------------------------------*/
  252. X  /*+:EDITS:*/
  253. X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by slootman@dri.nl */
  254. X  /*:08-25-1991-14:39-wht@n4hgf-SVR4 port thanks to aega84!lh */
  255. X  /*:07-25-1991-12:57-wht@n4hgf-ECU release 3.10 */
  256. X  /*:07-17-1991-07:04-wht@n4hgf-avoid SCO UNIX nap bug */
  257. X--- 35,41 ----
  258. X  
  259. X  --------------------------------------------------------------------------*/
  260. X  /*+:EDITS:*/
  261. X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by aega84!lh */
  262. X  /*:08-25-1991-14:39-wht@n4hgf-SVR4 port thanks to aega84!lh */
  263. X  /*:07-25-1991-12:57-wht@n4hgf-ECU release 3.10 */
  264. X  /*:07-17-1991-07:04-wht@n4hgf-avoid SCO UNIX nap bug */
  265. X***************
  266. X*** 475,489 ****
  267. X      p_overwrite = 1;    /* assume overwrite */
  268. X      p_xfernew = 0;        /* assume send only newer */
  269. X      p_filelist[0] = 0;    /* no filenames yet */
  270. X! #ifdef WHT
  271. X! #ifdef M_I286
  272. X!     zwindw_size = 65472;    /* my preference */
  273. X  #else
  274. X!     zwindw_size = 65536;    /* my preference */
  275. X! #endif
  276. X  #else
  277. X!     zwindw_size = 0;    /* assume full streaming sz */
  278. X! #endif
  279. X  
  280. X      switch(to_lower(*(argv[0] + 1)))
  281. X      {
  282. X--- 475,489 ----
  283. X      p_overwrite = 1;    /* assume overwrite */
  284. X      p_xfernew = 0;        /* assume send only newer */
  285. X      p_filelist[0] = 0;    /* no filenames yet */
  286. X! #if defined(WHT)
  287. X!     zwindw_size = 65536;                    /* my preference */
  288. X  #else
  289. X! #if defined(DEFAULT_SZ_WINDOW)
  290. X!     zwindw_size = DEFAULT_SZ_WINDOW_SIZE;    /* your preference */
  291. X  #else
  292. X!     zwindw_size = 0;                        /* default to full streaming sz */
  293. X! #endif /* DEFAULT_SZ_WINDOW */
  294. X! #endif /* WHT */
  295. X  
  296. X      switch(to_lower(*(argv[0] + 1)))
  297. X      {
  298. X***************
  299. X*** 855,861 ****
  300. X          ff(se,"wierd 2\r\n");
  301. X      }
  302. X  
  303. X!     lreset_ksr();
  304. X  
  305. X      switch(xfertype)
  306. X      {
  307. X--- 855,861 ----
  308. X          ff(se,"wierd 2\r\n");
  309. X      }
  310. X  
  311. X!     lreset_ksr();                    /* ensure line termio back to our config */
  312. X  
  313. X      switch(xfertype)
  314. X      {
  315. X***************
  316. X*** 912,917 ****
  317. X--- 912,918 ----
  318. X          default: ff(se,"receive command invalid\n");
  319. X              return;
  320. X      }
  321. X+ 
  322. X  
  323. X      if(xfertype == ECURZ_X)
  324. X      {
  325. X*** /export/home/wht/src/ecu314/ecuxkey.h    Wed Sep  4 00:25:07 1991
  326. X--- ecuxkey.h    Tue Sep  3 23:17:26 1991
  327. X***************
  328. X*** 7,13 ****
  329. X  unadvisable.
  330. X  --------------------------------------------------------------------------*/
  331. X  /*+:EDITS:*/
  332. X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by slootman@dri.nl */
  333. X  /*:07-25-1991-12:57-wht@n4hgf-ECU release 3.10 */
  334. X  /*:05-02-1991-01:57-r@n4hgf-alt-[a-z] range moved from 0x80-0x99 to 0xE0-0xF9 */
  335. X  /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
  336. X--- 7,14 ----
  337. X  unadvisable.
  338. X  --------------------------------------------------------------------------*/
  339. X  /*+:EDITS:*/
  340. X! /*:09-03-1991-23:16-wht@n4hgf2-alt-[a-z] starts w/0xE1: crisp compatibility */
  341. X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by aega84!lh */
  342. X  /*:07-25-1991-12:57-wht@n4hgf-ECU release 3.10 */
  343. X  /*:05-02-1991-01:57-r@n4hgf-alt-[a-z] range moved from 0x80-0x99 to 0xE0-0xF9 */
  344. X  /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
  345. X***************
  346. X*** 52,58 ****
  347. X  /*
  348. X   * extended ALT+[a-z] codes
  349. X   */
  350. X! #define XF_ALTA    0xE0            /* depends on /usr/lib/keyboard keys ... */
  351. X  #define XF_ALTZ    ((unsigned)(0xE0+'z'-'a'))    /* ... mapping ALT-a to 0xE0, etc */
  352. X  
  353. X  /* vi: set tabstop=4 shiftwidth=4: */
  354. X--- 53,59 ----
  355. X  /*
  356. X   * extended ALT+[a-z] codes
  357. X   */
  358. X! #define XF_ALTA    0xE1            /* depends on /usr/lib/keyboard keys ... */
  359. X  #define XF_ALTZ    ((unsigned)(0xE0+'z'-'a'))    /* ... mapping ALT-a to 0xE0, etc */
  360. X  
  361. X  /* vi: set tabstop=4 shiftwidth=4: */
  362. X*** /export/home/wht/src/ecu314/esd.h    Thu Jul 25 12:57:00 1991
  363. X--- esd.h    Sun Sep  1 03:14:05 1991
  364. X***************
  365. X*** 3,13 ****
  366. X--- 3,18 ----
  367. X      wht@n4hgf.Mt-Park.GA.US
  368. X  ------------------------------------------------------------------------*/
  369. X  /*+:EDITS:*/
  370. X+ /*:08-29-1991-02:02-wht@n4hgf2-larger max string size for sun and SVR4 */
  371. X  /*:07-25-1991-12:57-wht@n4hgf-ECU release 3.10 */
  372. X  /*:04-24-1991-18:49-wht@n4hgf-add ESD_MAXSIZE */
  373. X  /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
  374. X  
  375. X+ #if defined(sun) || defined(SVR4)
  376. X+ #define ESD_MAXSIZE 10240
  377. X+ #else
  378. X  #define ESD_MAXSIZE 5120
  379. X+ #endif
  380. X  
  381. X  typedef struct esd
  382. X  {
  383. X*** /export/home/wht/src/ecu314/expresp.c    Wed Sep  4 00:25:07 1991
  384. X--- expresp.c    Tue Sep  3 19:54:41 1991
  385. X***************
  386. X*** 51,57 ****
  387. X  long atol();
  388. X  
  389. X  extern int proctrace;
  390. X- extern int sigint;
  391. X  
  392. X  int expresp_verbosity = 0;
  393. X  ulong expect_timeout_msecs = DEFAULT_TIMEOUT_MSECS;
  394. X--- 51,56 ----
  395. X***************
  396. X*** 219,224 ****
  397. X--- 218,227 ----
  398. X  
  399. X  /*+-------------------------------------------------------------------------
  400. X      respond(str) - send to remote
  401. X+ 
  402. X+ we enable SIGINT processing in here and return if 'sigint' detected,
  403. X+ but here, unlikme elsewhere, we do *not* reset sigint (se we do not
  404. X+ really "handle" it)
  405. X  --------------------------------------------------------------------------*/
  406. X  void
  407. X  respond(str)
  408. X***************
  409. X*** 228,234 ****
  410. X--- 231,241 ----
  411. X  long ltmp;
  412. X  char s4[4];
  413. X  int send_no_cr = 0;
  414. X+ int old_ttymode = get_ttymode();
  415. X  
  416. X+     if(sigint)
  417. X+         return;
  418. X+     ttymode(2);
  419. X      ERDEBUG(2,"respond: <<%s>>\n",str);
  420. X      while(*str)
  421. X      {
  422. X***************
  423. X*** 247,263 ****
  424. X              {
  425. X                  case 'p':  /* pause (approximately 1/4-1/2 second delay) */
  426. X                      ldraino(0);    /* wait for output to drain */
  427. X!                     Nap(400L);
  428. X                      break;
  429. X                  case 'm':  /* nap a while (non-standard) */
  430. X                      ltmp = atol(str + 1);
  431. X                      str += strspn(str + 1,"0123456789");
  432. X                      ldraino(0);    /* wait for output to drain */
  433. X!                     Nap((ltmp < hzmsec) ? hzmsec : ltmp);
  434. X                      break;
  435. X                  case 'd':  /* delay (2 seconds) */
  436. X                      ldraino(0);    /* wait for output to drain */
  437. X!                     Nap(2000L);
  438. X                      break;
  439. X                  case 'D':  /* phone number/token */
  440. X                      if(expresp_echo_check)
  441. X--- 254,273 ----
  442. X              {
  443. X                  case 'p':  /* pause (approximately 1/4-1/2 second delay) */
  444. X                      ldraino(0);    /* wait for output to drain */
  445. X!                     if(Nap(400L) < 0)
  446. X!                         goto RETURN;
  447. X                      break;
  448. X                  case 'm':  /* nap a while (non-standard) */
  449. X                      ltmp = atol(str + 1);
  450. X                      str += strspn(str + 1,"0123456789");
  451. X                      ldraino(0);    /* wait for output to drain */
  452. X!                     if(Nap((ltmp < hzmsec) ? hzmsec : ltmp) < 0)
  453. X!                         goto RETURN;
  454. X                      break;
  455. X                  case 'd':  /* delay (2 seconds) */
  456. X                      ldraino(0);    /* wait for output to drain */
  457. X!                     if(Nap(2000L) < 0)
  458. X!                         goto RETURN;
  459. X                      break;
  460. X                  case 'D':  /* phone number/token */
  461. X                      if(expresp_echo_check)
  462. X***************
  463. X*** 309,314 ****
  464. X--- 319,328 ----
  465. X  
  466. X      if(!send_no_cr)
  467. X          lputc(0x0D);
  468. X+ 
  469. X+ RETURN:
  470. X+     ttymode(old_ttymode);
  471. X+ 
  472. X  }    /* end of respond */
  473. X  
  474. X  /*+-------------------------------------------------------------------------
  475. X*** /export/home/wht/src/ecu314/hdbintf.c    Wed Sep  4 00:25:08 1991
  476. X--- hdbintf.c    Tue Sep  3 19:02:54 1991
  477. X***************
  478. X*** 38,43 ****
  479. X--- 38,45 ----
  480. X  
  481. X  --------------------------------------------------------------------------*/
  482. X  /*+:EDITS:*/
  483. X+ /*:09-01-1991-16:20-wht@n4hgf2-generalize HDB configuration files location */
  484. X+ /*:09-01-1991-02:27-wht@n4hgf2-dialer gets file name instead of "ECUdial" */
  485. X  /*:08-25-1991-13:07-wht@n4hgf-apply ache@hq.demos.su patches */
  486. X  /*:08-10-1991-17:39-wht@n4hgf-US_WEGOTIT handling */
  487. X  /*:07-25-1991-12:58-wht@n4hgf-ECU release 3.10 */
  488. X***************
  489. X*** 64,72 ****
  490. X  char *dialcodes_translate();
  491. X  char *strip_phone_num();
  492. X  
  493. X- extern int errno;
  494. X  extern char kbdintr;        /* current input INTR */
  495. X- extern int sigint;
  496. X  extern ulong colors_current;
  497. X  extern char *sys_errlist[];
  498. X  extern int proc_level;
  499. X--- 66,72 ----
  500. X***************
  501. X*** 83,88 ****
  502. X--- 83,89 ----
  503. X  /*+-------------------------------------------------------------------------
  504. X      ungetty_get_line()
  505. X  --------------------------------------------------------------------------*/
  506. X+ int
  507. X  ungetty_get_line()
  508. X  {
  509. X  int itmp;
  510. X***************
  511. X*** 304,315 ****
  512. X--- 305,326 ----
  513. X  {
  514. X  struct dvent *dve;
  515. X  
  516. X+ #ifdef CHOOSE_DEBUG
  517. X+     pprintf("getdvbaud %u\n",baud);
  518. X+ #endif
  519. X+ 
  520. X      while(1)
  521. X      {
  522. X          if((dve = getdvent()) == (struct dvent *)0)
  523. X              return(dve);
  524. X          if((dve->low_baud <= baud) && (baud <= dve->high_baud))
  525. X+         {
  526. X+ #ifdef CHOOSE_DEBUG
  527. X+             pprintf("returning %s\n",dve->line);
  528. X+             Nap(2000L);
  529. X+ #endif
  530. X              return(dve);
  531. X+         }
  532. X      }
  533. X      /*NOTREACHED*/
  534. X  
  535. X***************
  536. X*** 317,323 ****
  537. X  
  538. X  /*+-------------------------------------------------------------------------
  539. X      getdvline(line) - get Devices entry matching line
  540. X! calling argument 'line's is string AFTER "/dev/tty"
  541. X  --------------------------------------------------------------------------*/
  542. X  struct dvent *
  543. X  getdvline(line)
  544. X--- 328,334 ----
  545. X  
  546. X  /*+-------------------------------------------------------------------------
  547. X      getdvline(line) - get Devices entry matching line
  548. X! calling argument 'line's is string AFTER "/dev/"
  549. X  --------------------------------------------------------------------------*/
  550. X  struct dvent *
  551. X  getdvline(line)
  552. X***************
  553. X*** 333,339 ****
  554. X      {
  555. X          if((dve = getdvent()) == (struct dvent *)0)
  556. X              return(dve);
  557. X!         if(!strcmp(dve->line + 3,line))
  558. X              return(dve);
  559. X      }
  560. X      /*NOTREACHED*/
  561. X--- 344,350 ----
  562. X      {
  563. X          if((dve = getdvent()) == (struct dvent *)0)
  564. X              return(dve);
  565. X!         if(!strcmp(dve->line,line))
  566. X              return(dve);
  567. X      }
  568. X      /*NOTREACHED*/
  569. X***************
  570. X*** 558,573 ****
  571. X  uint baud;
  572. X  {
  573. X  struct dvent *dve = (struct dvent *)0;
  574. X! char s32[32];
  575. X  int itmp;
  576. X  
  577. X  #ifdef CHOOSE_DEBUG
  578. X!     pprintf("\nchoose_line baud=%u\n",baud);
  579. X  #endif
  580. X  
  581. X      if(shm->Lline[0])
  582. X      {
  583. X!         dve = getdvline(shm->Lline + 8);
  584. X          enddvent();
  585. X      }
  586. X  
  587. X--- 569,584 ----
  588. X  uint baud;
  589. X  {
  590. X  struct dvent *dve = (struct dvent *)0;
  591. X! char tentative[sizeof(shm->Lline)];
  592. X  int itmp;
  593. X  
  594. X  #ifdef CHOOSE_DEBUG
  595. X!     pprintf("\nchoose_line baud=%u current line=\n",baud,shm->Lline);
  596. X  #endif
  597. X  
  598. X      if(shm->Lline[0])
  599. X      {
  600. X!         dve = getdvline(shm->Lline + 5);
  601. X          enddvent();
  602. X      }
  603. X  
  604. X***************
  605. X*** 588,594 ****
  606. X   */
  607. X      if(access(shm->Lline,6))
  608. X          goto GET_LINE_THAT_MATCHES_BAUD;
  609. X!     dve = getdvline(shm->Lline + 8);
  610. X      enddvent();
  611. X      if(!dve)    /* if no match in Devices, let ecu fend for itself */
  612. X          goto GET_LINE_THAT_MATCHES_BAUD;
  613. X--- 599,605 ----
  614. X   */
  615. X      if(access(shm->Lline,6))
  616. X          goto GET_LINE_THAT_MATCHES_BAUD;
  617. X!     dve = getdvline(shm->Lline + 5);
  618. X      enddvent();
  619. X      if(!dve)    /* if no match in Devices, let ecu fend for itself */
  620. X          goto GET_LINE_THAT_MATCHES_BAUD;
  621. X***************
  622. X*** 610,616 ****
  623. X  /* we've got to pick a new line */
  624. X  GET_LINE_THAT_MATCHES_BAUD:
  625. X  
  626. X!     strcpy(s32,"/dev/tty");
  627. X      while(1)
  628. X      {
  629. X          if(!(dve = getdvbaud(baud)))
  630. X--- 621,627 ----
  631. X  /* we've got to pick a new line */
  632. X  GET_LINE_THAT_MATCHES_BAUD:
  633. X  
  634. X!     strcpy(tentative,"/dev/");
  635. X      while(1)
  636. X      {
  637. X          if(!(dve = getdvbaud(baud)))
  638. X***************
  639. X*** 626,636 ****
  640. X          if(ulindex(dve->type,"ACU") < 0)
  641. X              continue;
  642. X  
  643. X!         strcpy(&s32[8],dve->line + 3);    /* yeech ... make "/dev/ttyxx" */
  644. X!         switch(utmp_status(s32))
  645. X          {
  646. X              case US_NOTFOUND:    /* not in utmp, or getty dead */
  647. X!                 if(itmp = line_locked(s32))
  648. X                      continue;
  649. X              case US_WEGOTIT:
  650. X  #if defined(SHARE_DEBUG)
  651. X--- 637,648 ----
  652. X          if(ulindex(dve->type,"ACU") < 0)
  653. X              continue;
  654. X  
  655. X!         strncat(tentative,dve->line,sizeof(shm->Lline) - 5 - 1);
  656. X!         tentative[sizeof(shm->Lline) - 1] = 0;
  657. X!         switch(utmp_status(tentative))
  658. X          {
  659. X              case US_NOTFOUND:    /* not in utmp, or getty dead */
  660. X!                 if(itmp = line_locked(tentative))
  661. X                      continue;
  662. X              case US_WEGOTIT:
  663. X  #if defined(SHARE_DEBUG)
  664. X***************
  665. X*** 637,644 ****
  666. X                  ecu_log_event(getpid(),"looking for line found we own it");
  667. X  #endif
  668. X              case US_LOGIN:        /* enabled for login, idle */
  669. X!                 strcpy(shm->Lline,s32);    /* @@@@@@@@@@@ MATCH @@@@@@@@@ */
  670. X!                 shm->Lline[9] = to_lower(shm->Lline[9]);
  671. X                  enddvent();    
  672. X                  return;
  673. X          }
  674. X--- 649,659 ----
  675. X                  ecu_log_event(getpid(),"looking for line found we own it");
  676. X  #endif
  677. X              case US_LOGIN:        /* enabled for login, idle */
  678. X!                 strcpy(shm->Lline,tentative);    /* @@@@@@@@ MATCH @@@@@@@@@ */
  679. X! #if defined(M_SYSV)
  680. X!                 itmp = strlen(shm->Lline) - 1;
  681. X!                 shm->Lline[itmp] = to_lower(shm->Lline[itmp]);
  682. X! #endif
  683. X                  enddvent();    
  684. X                  return;
  685. X          }
  686. X***************
  687. X*** 671,677 ****
  688. X  
  689. X      if(shm->Lline[0])
  690. X      {
  691. X!         dve = getdvline(shm->Lline + 8);
  692. X          enddvent();
  693. X      }
  694. X  
  695. X--- 686,692 ----
  696. X  
  697. X      if(shm->Lline[0])
  698. X      {
  699. X!         dve = getdvline(shm->Lline + 5);
  700. X          enddvent();
  701. X      }
  702. X  
  703. X***************
  704. X*** 869,878 ****
  705. X  char credit_file[128];
  706. X  #endif
  707. X  
  708. X      if(!there_is_hdb_on_this_machine)
  709. X          return(4);
  710. X  
  711. X!     strcpy(dial_log,shm->Lline + 8);
  712. X  
  713. X  #if defined(M_SYSV)
  714. X      sptr = dial_log + strlen(dial_log) - 1;
  715. X--- 884,899 ----
  716. X  char credit_file[128];
  717. X  #endif
  718. X  
  719. X+     if(sigint)    /* don't even start if console interrupt posted */
  720. X+     {
  721. X+         sigint = 0;
  722. X+         return(2);
  723. X+     }
  724. X+ 
  725. X      if(!there_is_hdb_on_this_machine)
  726. X          return(4);
  727. X  
  728. X!     strcpy(dial_log,shm->Lline + 5);
  729. X  
  730. X  #if defined(M_SYSV)
  731. X      sptr = dial_log + strlen(dial_log) - 1;
  732. X***************
  733. X*** 918,924 ****
  734. X  
  735. X      stripped_num = strip_phone_num(shm->Ltelno);
  736. X  
  737. X! #ifdef WHT    /* hack for immediate need ... make a real feature later */
  738. X      dptr = stripped_num;
  739. X      if(*(dptr - 1) == '$')
  740. X      {
  741. X--- 939,946 ----
  742. X  
  743. X      stripped_num = strip_phone_num(shm->Ltelno);
  744. X  
  745. X! #if defined(WHT) || defined(TELNO_DOLLAR_CREDIT_CARD)
  746. X!     /* hack for immediate need ... make a real feature later */
  747. X      dptr = stripped_num;
  748. X      if(*(dptr - 1) == '$')
  749. X      {
  750. X***************
  751. X*** 942,952 ****
  752. X              iv[0] = 1;
  753. X              return(1);
  754. X          }
  755. X!         *(dptr + strlen(dptr) - 1) = 0; /* kill NL */
  756. X      }
  757. X  #endif /* WHT */
  758. X  
  759. X!   /* Translate Token now */
  760. X  
  761. X      if (dve->token == (char *)0 || !dve->token[0])
  762. X          strcpy(token, stripped_num);
  763. X--- 964,975 ----
  764. X              iv[0] = 1;
  765. X              return(1);
  766. X          }
  767. X!         if(*(dptr + strlen(dptr) - 1) == 0x0A)
  768. X!             *(dptr + strlen(dptr) - 1) = 0; /* kill NL */
  769. X      }
  770. X  #endif /* WHT */
  771. X  
  772. X!   /* Translate Token now (thanks to ache@hq.demos.su) */
  773. X  
  774. X      if (dve->token == (char *)0 || !dve->token[0])
  775. X          strcpy(token, stripped_num);
  776. X***************
  777. X*** 1011,1019 ****
  778. X          if((dial_pid = smart_fork()) == 0)
  779. X          {
  780. X              signal(SIGINT,SIG_DFL);
  781. X!             execl(dve->dialprog,"ECUdial",dbgstr,
  782. X!                 shm->Lline,token,
  783. X!                 baudstr,(char *)0);
  784. X              exit(-1);
  785. X          }
  786. X  
  787. X--- 1034,1046 ----
  788. X          if((dial_pid = smart_fork()) == 0)
  789. X          {
  790. X              signal(SIGINT,SIG_DFL);
  791. X!             execl(dve->dialprog,
  792. X! #if defined(WHT) || defined(ECUdial)
  793. X!                 "ECUdial",
  794. X! #else
  795. X!                 dve->dialprog,
  796. X! #endif
  797. X!                 dbgstr, shm->Lline,token,baudstr,(char *)0);
  798. X              exit(-1);
  799. X          }
  800. X  
  801. X***************
  802. X*** 1024,1034 ****
  803. X          ttymode(old_ttymode);
  804. X          ttyflush(1);
  805. X  
  806. X!         if(sigint)
  807. X          {
  808. X!             kill(dial_pid,9);
  809. X!             ltoggle_dtr();
  810. X!             sigint = 0;     /* in case of SIGINT by user */
  811. X          }
  812. X          lreset_ksr(); /* uucp dialers are nice guys, but lets use our termio */
  813. X  
  814. X--- 1051,1061 ----
  815. X          ttymode(old_ttymode);
  816. X          ttyflush(1);
  817. X  
  818. X!         if(sigint)    /* keyboard interrupt? */
  819. X          {
  820. X!             kill(dial_pid,9);    /* kill dialer */
  821. X!             ltoggle_dtr();        /* drop line */
  822. X!             sigint = 0;            /* reset SIGINT indication */
  823. X          }
  824. X          lreset_ksr(); /* uucp dialers are nice guys, but lets use our termio */
  825. X  
  826. X***************
  827. X*** 1136,1146 ****
  828. X  }    /* end of hdb_dial */
  829. X  
  830. X  /*+-------------------------------------------------------------------------
  831. X!     hdb_init()
  832. X  --------------------------------------------------------------------------*/
  833. X  void
  834. X  hdb_init()
  835. X  {
  836. X      there_is_hdb_on_this_machine = !access(Devices_file,4);
  837. X  
  838. X  }    /* end of hdb_init */
  839. X--- 1163,1201 ----
  840. X  }    /* end of hdb_dial */
  841. X  
  842. X  /*+-------------------------------------------------------------------------
  843. X!     hdb_init() - initialize HoneyDanBerInterface
  844. X  --------------------------------------------------------------------------*/
  845. X  void
  846. X  hdb_init()
  847. X  {
  848. X+ char *hdbfiles = HDBFILES;        /* system independent location */
  849. X+ int buflen = strlen(hdbfiles) + 64;
  850. X+ char *emsg = "hdb_init memory allocation failed!\n";
  851. X+ 
  852. X+     if(!(Devices_file = malloc(buflen)))
  853. X+     {
  854. X+         pputs(emsg);
  855. X+         termecu(TERMECU_MALLOC);
  856. X+     }
  857. X+     strcpy(Devices_file,hdbfiles);
  858. X+     strcat(Devices_file,"/Devices");
  859. X+ 
  860. X+     if(!(Dialers_file = malloc(buflen)))
  861. X+     {
  862. X+         pputs(emsg);
  863. X+         termecu(TERMECU_MALLOC);
  864. X+     }
  865. X+     strcpy(Dialers_file,hdbfiles);
  866. X+     strcat(Dialers_file,"/Dialers");
  867. X+ 
  868. X+     if(!(Dialcodes_file = malloc(buflen)))
  869. X+     {
  870. X+         pputs(emsg);
  871. X+         termecu(TERMECU_MALLOC);
  872. X+     }
  873. X+     strcpy(Dialcodes_file,hdbfiles);
  874. X+     strcat(Dialcodes_file,"/Dialcodes");
  875. X+ 
  876. X      there_is_hdb_on_this_machine = !access(Devices_file,4);
  877. X  
  878. X  }    /* end of hdb_init */
  879. X***************
  880. X*** 1199,1205 ****
  881. X      dptr = stripped_num;
  882. X      while(*sptr)
  883. X      {
  884. X!         if(*sptr == '(' || *sptr == ')')
  885. X          {
  886. X              sptr++;
  887. X              continue;
  888. X--- 1254,1264 ----
  889. X      dptr = stripped_num;
  890. X      while(*sptr)
  891. X      {
  892. X!         if((*sptr == '(') || (*sptr == ')')
  893. X! #if defined(WHT) || defined(STRIP_TELNO_HYPHENS)
  894. X!             || (*sptr == '-')    /* some want '-' for pauses; I use ',' */
  895. X! #endif
  896. X!             )
  897. X          {
  898. X              sptr++;
  899. X              continue;
  900. X*** /export/home/wht/src/ecu314/help/ecuhelp.src    Wed Sep  4 00:25:13 1991
  901. X--- help/ecuhelp.src    Sun Sep  1 03:14:06 1991
  902. X***************
  903. X*** 569,575 ****
  904. X    on     |   0     |   1         1      |   0     |   1
  905. X    no     |   0     |   0         2      |   1     |   0
  906. X    yes    |   1     |   1         3      |   1     |   1
  907. X! A similar feature is provided under S4.  Under SunOS, CTS
  908. X  flow control is upported.  See the manual.
  909. X  #--------------------------------------------------------------------
  910. X  %sdname
  911. X--- 569,575 ----
  912. X    on     |   0     |   1         1      |   0     |   1
  913. X    no     |   0     |   0         2      |   1     |   0
  914. X    yes    |   1     |   1         3      |   1     |   1
  915. X! A similar feature is provided under S4.  Under SunOS, CTS
  916. X  flow control is upported.  See the manual.
  917. X  #--------------------------------------------------------------------
  918. X  %sdname
  919. X*** /export/home/wht/src/ecu314/kbdtest3.c    Wed Sep  4 00:25:08 1991
  920. X--- kbdtest3.c    Sun Sep  1 03:14:06 1991
  921. X***************
  922. X*** 24,30 ****
  923. X  
  924. X  ------------------------------------------------------------------------*/
  925. X  /*+:EDITS:*/
  926. X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by slootman@dri.nl */
  927. X  /*:08-17-1991-13:58-root@n4hgf-make kbd entirely raw */
  928. X  /*:08-06-1991-13:12-wht@n4hgf-add parity reporting */
  929. X  /*:08-06-1991-13:12-wht@n4hgf-some terminals reinvent parity bit's use */
  930. X--- 24,30 ----
  931. X  
  932. X  ------------------------------------------------------------------------*/
  933. X  /*+:EDITS:*/
  934. X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by aega84!lh */
  935. X  /*:08-17-1991-13:58-root@n4hgf-make kbd entirely raw */
  936. X  /*:08-06-1991-13:12-wht@n4hgf-add parity reporting */
  937. X  /*:08-06-1991-13:12-wht@n4hgf-some terminals reinvent parity bit's use */
  938. X*** /export/home/wht/src/ecu314/makedirs.c    Wed Sep  4 00:24:59 1991
  939. X--- makedirs.c    Sun Sep  1 03:14:06 1991
  940. X***************
  941. X*** 2,7 ****
  942. X--- 2,8 ----
  943. X      makedirs.c
  944. X  --------------------------------------------------------------------------*/
  945. X  /*+:EDITS:*/
  946. X+ /*:08-30-1991-00:37-wht@n4hgf2-force umask to 022 for installation */
  947. X  /*:08-23-1991-14:38-wht@n4hgf-was not making last subdirectory in list */
  948. X  /*:08-09-1991-02:13-root@n4hgf-need smart_fork for XENIX */
  949. X  /*:07-25-1991-12:58-wht@n4hgf-ECU release 3.10 */
  950. X***************
  951. X*** 29,34 ****
  952. X--- 30,37 ----
  953. X      char s512[512];
  954. X      extern char *optarg;
  955. X      extern int optind;
  956. X+ 
  957. X+     umask(022);
  958. X  
  959. X      while((itmp = getopt(argc,argv,"m:")) != -1)
  960. X      {
  961. X*** /export/home/wht/src/ecu314/mapkey/keys.usa.ecu    Thu May  2 02:10:00 1991
  962. X--- mapkey/keys.usa.ecu    Tue Sep  3 23:14:31 1991
  963. X***************
  964. X*** 23,63 ****
  965. X      13  '='    '+'    nop    nop    '='    '+'    nop    nop     O
  966. X      14  bs     bs     del    del    bs     bs     del    del     O
  967. X      15  ht     btab   nop    nop    ht     btab   nop    nop     O
  968. X!     16  'q'    'Q'    dc1    dc1    0xf0   'Q'    dc1    dc1     C
  969. X!     17  'w'    'W'    etb    etb    0xf6   'W'    etb    etb     C
  970. X!     18  'e'    'E'    enq    enq    0xe4   'E'    enq    enq     C
  971. X!     19  'r'    'R'    dc2    dc2    0xf1   'R'    dc2    dc2     C
  972. X!     20  't'    'T'    dc4    dc4    0xf3   'T'    dc4    dc4     C
  973. X!     21  'y'    'Y'    em     em     0xf8   'Y'    em     em      C
  974. X!     22  'u'    'U'    nak    nak    0xf4   'U'    nak    nak     C
  975. X!     23  'i'    'I'    ht     ht     0xe8   'I'    ht     ht      C
  976. X!     24  'o'    'O'    si     si     0xee   'O'    si     si      C
  977. X!     25  'p'    'P'    dle    dle    0xef   'P'    dle    dle     C
  978. X      26  '['    '{'    esc    esc    '['    '{'    esc    esc     O
  979. X      27  ']'    '}'    gs     gs     ']'    '}'    gs     gs      O
  980. X      28  cr     cr     nl     nl     cr     cr     nl     nl      O
  981. X      29  lctrl  lctrl  lctrl  lctrl  lctrl  lctrl  lctrl  lctrl   O
  982. X!     30  'a'    'A'    soh    soh    0xe0   'A'    soh    soh     C
  983. X!     31  's'    'S'    dc3    dc3    0xf2   'S'    dc3    dc3     C
  984. X!     32  'd'    'D'    eot    eot    0xe3   'D'    eot    eot     C
  985. X!     33  'f'    'F'    ack    ack    0xe5   'F'    ack    ack     C
  986. X!     34  'g'    'G'    bel    bel    0xe6   'G'    bel    bel     C
  987. X!     35  'h'    'H'    bs     bs     0xe7   'H'    bs     bs      C
  988. X!     36  'j'    'J'    nl     nl     0xe9   'J'    nl     nl      C
  989. X!     37  'k'    'K'    vt     vt     0xea   'K'    vt     vt      C
  990. X!     38  'l'    'L'    np     np     0xeb   'L'    np     np      C
  991. X      39  ';'    ':'    nop    nop    ';'    ':'    nop    nop     O
  992. X      40  '\''   '"'    nop    nop    '\''   '"'    nop    nop     O
  993. X      41  '`'    '~'    nop    nop    '`'    '~'    nop    nop     O
  994. X      42  lshift lshift lshift lshift lshift lshift lshift lshift  O
  995. X      43  '\\'   '|'    fs     fs     '\\'   '|'    fs     fs      O
  996. X!     44  'z'    'Z'    sub    sub    0xf9   'Z'    sub    sub     C
  997. X!     45  'x'    'X'    can    can    0xf7   'X'    can    can     C
  998. X!     46  'c'    'C'    etx    etx    0xe2   'C'    etx    etx     C
  999. X!     47  'v'    'V'    syn    syn    0xf5   'V'    syn    syn     C
  1000. X!     48  'b'    'B'    stx    stx    0xe1   'B'    stx    stx     C
  1001. X!     49  'n'    'N'    so     so     0xed   'N'    so     so      C
  1002. X!     50  'm'    'M'    cr     cr     0xec   'M'    cr     cr      C
  1003. X      51  ','    '<'    nop    nop    ','    '<'    nop    nop     O
  1004. X      52  '.'    '>'    nop    nop    '.'    '>'    nop    nop     O
  1005. X      53  '/'    '?'    nop    nop    '/'    '?'    nop    nop     O
  1006. X--- 23,63 ----
  1007. X      13  '='    '+'    nop    nop    '='    '+'    nop    nop     O
  1008. X      14  bs     bs     del    del    bs     bs     del    del     O
  1009. X      15  ht     btab   nop    nop    ht     btab   nop    nop     O
  1010. X!     16  'q'    'Q'    dc1    dc1    0xf1   'Q'    dc1    dc1     C
  1011. X!     17  'w'    'W'    etb    etb    0xf7   'W'    etb    etb     C
  1012. X!     18  'e'    'E'    enq    enq    0xe5   'E'    enq    enq     C
  1013. X!     19  'r'    'R'    dc2    dc2    0xf2   'R'    dc2    dc2     C
  1014. X!     20  't'    'T'    dc4    dc4    0xf4   'T'    dc4    dc4     C
  1015. X!     21  'y'    'Y'    em     em     0xf9   'Y'    em     em      C
  1016. X!     22  'u'    'U'    nak    nak    0xf5   'U'    nak    nak     C
  1017. X!     23  'i'    'I'    ht     ht     0xe9   'I'    ht     ht      C
  1018. X!     24  'o'    'O'    si     si     0xef   'O'    si     si      C
  1019. X!     25  'p'    'P'    dle    dle    0xf0   'P'    dle    dle     C
  1020. X      26  '['    '{'    esc    esc    '['    '{'    esc    esc     O
  1021. X      27  ']'    '}'    gs     gs     ']'    '}'    gs     gs      O
  1022. X      28  cr     cr     nl     nl     cr     cr     nl     nl      O
  1023. X      29  lctrl  lctrl  lctrl  lctrl  lctrl  lctrl  lctrl  lctrl   O
  1024. X!     30  'a'    'A'    soh    soh    0xe1   'A'    soh    soh     C
  1025. X!     31  's'    'S'    dc3    dc3    0xf3   'S'    dc3    dc3     C
  1026. X!     32  'd'    'D'    eot    eot    0xe4   'D'    eot    eot     C
  1027. X!     33  'f'    'F'    ack    ack    0xe6   'F'    ack    ack     C
  1028. X!     34  'g'    'G'    bel    bel    0xe7   'G'    bel    bel     C
  1029. X!     35  'h'    'H'    bs     bs     0xe8   'H'    bs     bs      C
  1030. X!     36  'j'    'J'    nl     nl     0xea   'J'    nl     nl      C
  1031. X!     37  'k'    'K'    vt     vt     0xeb   'K'    vt     vt      C
  1032. X!     38  'l'    'L'    np     np     0xec   'L'    np     np      C
  1033. X      39  ';'    ':'    nop    nop    ';'    ':'    nop    nop     O
  1034. X      40  '\''   '"'    nop    nop    '\''   '"'    nop    nop     O
  1035. X      41  '`'    '~'    nop    nop    '`'    '~'    nop    nop     O
  1036. X      42  lshift lshift lshift lshift lshift lshift lshift lshift  O
  1037. X      43  '\\'   '|'    fs     fs     '\\'   '|'    fs     fs      O
  1038. X!     44  'z'    'Z'    sub    sub    0xfa   'Z'    sub    sub     C
  1039. X!     45  'x'    'X'    can    can    0xf8   'X'    can    can     C
  1040. X!     46  'c'    'C'    etx    etx    0xe3   'C'    etx    etx     C
  1041. X!     47  'v'    'V'    syn    syn    0xf6   'V'    syn    syn     C
  1042. X!     48  'b'    'B'    stx    stx    0xe2   'B'    stx    stx     C
  1043. X!     49  'n'    'N'    so     so     0xee   'N'    so     so      C
  1044. X!     50  'm'    'M'    cr     cr     0xed   'M'    cr     cr      C
  1045. X      51  ','    '<'    nop    nop    ','    '<'    nop    nop     O
  1046. X      52  '.'    '>'    nop    nop    '.'    '>'    nop    nop     O
  1047. X      53  '/'    '?'    nop    nop    '/'    '?'    nop    nop     O
  1048. X*** /export/home/wht/src/ecu314/mkdirs.c    Wed Sep  4 00:24:59 1991
  1049. X--- mkdirs.c    Wed Sep  4 02:09:33 1991
  1050. X***************
  1051. X*** 15,20 ****
  1052. X--- 15,24 ----
  1053. X  #include <string.h>
  1054. X  #include <errno.h>
  1055. X  
  1056. X+ #ifdef M_UNIX
  1057. X+ #undef M_XENIX
  1058. X+ #endif
  1059. X+ 
  1060. X  #if defined(M_XENIX)
  1061. X  #include <signal.h>
  1062. X  #include <sys/types.h>
  1063. X***************
  1064. X*** 37,43 ****
  1065. X  {
  1066. X      int cpid,status;
  1067. X      struct stat statbuf;
  1068. X!     int(*original_sighdlr)();
  1069. X  
  1070. X      if(stat(dpath,&statbuf) == 0)
  1071. X      {
  1072. X--- 41,47 ----
  1073. X  {
  1074. X      int cpid,status;
  1075. X      struct stat statbuf;
  1076. X!     SIGTYPE (*original_sighdlr)();
  1077. X  
  1078. X      if(stat(dpath,&statbuf) == 0)
  1079. X      {
  1080. X*** /export/home/wht/src/ecu314/nonansikey.c    Wed Sep  4 00:25:08 1991
  1081. X--- nonansikey.c    Mon Sep  2 22:56:53 1991
  1082. X***************
  1083. X*** 1,4 ****
  1084. X! /* #define NONANSI_DEBUG */
  1085. X  /*+-----------------------------------------------------------------
  1086. X      nonansikey.c - keyboard function key -> ECU internal
  1087. X      wht@n4hgf.Mt-Park.GA.US
  1088. X--- 1,4 ----
  1089. X! #define NONANSI_DEBUG
  1090. X  /*+-----------------------------------------------------------------
  1091. X      nonansikey.c - keyboard function key -> ECU internal
  1092. X      wht@n4hgf.Mt-Park.GA.US
  1093. X***************
  1094. X*** 33,39 ****
  1095. X--- 33,41 ----
  1096. X  
  1097. X  KDE nonansi_key_table[KDE_COUNT];
  1098. X  char nonansi_key_name[32] = "";
  1099. X+ #if defined(NONANSI_DEBUG)
  1100. X  static FILE *nadbg = (FILE *)0;
  1101. X+ #endif
  1102. X  
  1103. X  /*+-------------------------------------------------------------------------
  1104. X      nonansi_key_init()
  1105. X***************
  1106. X*** 197,203 ****
  1107. X  
  1108. X      if(!(fp_keys = fopen(ecukeys_name,"r")))
  1109. X      {
  1110. X-     char * eculibdir = ECULIBDIR;
  1111. X          strcpy(ecukeys_name,eculibdir);
  1112. X          strcat(ecukeys_name,"/nonansikeys");
  1113. X          if(!(fp_keys = fopen(ecukeys_name,"r")))
  1114. X--- 199,204 ----
  1115. X*** /export/home/wht/src/ecu314/pcmd.c    Wed Sep  4 00:25:01 1991
  1116. X--- pcmd.c    Sun Sep  1 20:56:47 1991
  1117. X***************
  1118. X*** 32,42 ****
  1119. X--- 32,45 ----
  1120. X      pcmd_rtscts(param)
  1121. X      pcmd_send(param)
  1122. X      pcmd_set(param)
  1123. X+     pcmd_setline(param)
  1124. X      pcmd_system(param)
  1125. X      pcmd_xon(param)
  1126. X  
  1127. X  --------------------------------------------------------------------------*/
  1128. X  /*+:EDITS:*/
  1129. X+ /*:09-01-1991-19:10-wht@n4hgf2-baud cmd can set rate even if no line open */
  1130. X+ /*:09-01-1991-18:10-wht@n4hgf2-add setline */
  1131. X  /*:08-25-1991-14:39-wht@n4hgf-SVR4 port thanks to aega84!lh */
  1132. X  /*:08-06-1991-21:18-wht@n4hgf-nap -m test wrong sense ... old bug! */
  1133. X  /*:08-05-1991-16:22-wht@n4hgf-add nap -1 return and proctrace */
  1134. X***************
  1135. X*** 68,79 ****
  1136. X  
  1137. X  extern int proctrace;
  1138. X  extern int rcvr_pid;
  1139. X  extern ulong colors_current;
  1140. X  extern char errmsg[];
  1141. X  extern char curr_dir[CURR_DIRSIZ];        /* current working directory */
  1142. X  
  1143. X  /*+-------------------------------------------------------------------------
  1144. X!     pcmd_baud(param)
  1145. X  --------------------------------------------------------------------------*/
  1146. X  int
  1147. X  pcmd_baud(param)
  1148. X--- 71,86 ----
  1149. X  
  1150. X  extern int proctrace;
  1151. X  extern int rcvr_pid;
  1152. X+ extern int rc_ep_has_run;
  1153. X  extern ulong colors_current;
  1154. X  extern char errmsg[];
  1155. X  extern char curr_dir[CURR_DIRSIZ];        /* current working directory */
  1156. X  
  1157. X  /*+-------------------------------------------------------------------------
  1158. X!     pcmd_baud(param) - set line or default baud rate
  1159. X! 
  1160. X! The command sets shm->Lbaud whether or not a line is open.
  1161. X! If a line is open, the baud rate is actually set.
  1162. X  --------------------------------------------------------------------------*/
  1163. X  int
  1164. X  pcmd_baud(param)
  1165. X***************
  1166. X*** 82,89 ****
  1167. X  long new_baud;
  1168. X  int erc;
  1169. X  
  1170. X-     if(shm->Liofd < 0)
  1171. X-         return(eNoLineAttached);
  1172. X  
  1173. X      if(erc = gint(param,&new_baud))
  1174. X          return(erc);
  1175. X--- 89,94 ----
  1176. X***************
  1177. X*** 93,99 ****
  1178. X          return(eFATAL_ALREADY);
  1179. X      }
  1180. X      shm->Lbaud = (uint)new_baud;
  1181. X!     lset_baud_rate(1);
  1182. X      if(proctrace)
  1183. X      {
  1184. X          pprintf("baud rate set to %u\n",shm->Lbaud);
  1185. X--- 98,105 ----
  1186. X          return(eFATAL_ALREADY);
  1187. X      }
  1188. X      shm->Lbaud = (uint)new_baud;
  1189. X!     if(shm->Liofd >=- 0)
  1190. X!         lset_baud_rate(1);
  1191. X      if(proctrace)
  1192. X      {
  1193. X          pprintf("baud rate set to %u\n",shm->Lbaud);
  1194. X***************
  1195. X*** 754,762 ****
  1196. X  ESD *tesd;
  1197. X  char s64[64];
  1198. X  
  1199. X-     if(shm->Liofd < 0)
  1200. X-         return(eNoLineAttached);
  1201. X- 
  1202. X      if(erc = skip_cmd_break(param))
  1203. X          return(erc);
  1204. X      if(!(tesd = esdalloc(64)))
  1205. X--- 760,765 ----
  1206. X***************
  1207. X*** 779,785 ****
  1208. X          case 'e':
  1209. X          case 'o':
  1210. X              shm->Lparity = new_parity;
  1211. X!             lset_parity(1);
  1212. X              break;
  1213. X          default:
  1214. X              erc = eBadParameter;
  1215. X--- 782,789 ----
  1216. X          case 'e':
  1217. X          case 'o':
  1218. X              shm->Lparity = new_parity;
  1219. X!             if(shm->Liofd < 0)
  1220. X!                 lset_parity(1);
  1221. X              break;
  1222. X          default:
  1223. X              erc = eBadParameter;
  1224. X***************
  1225. X*** 1291,1296 ****
  1226. X--- 1295,1335 ----
  1227. X  
  1228. X      return(erc);
  1229. X  }    /* end of pcmd_rtscts */
  1230. X+ 
  1231. X+ /*+-------------------------------------------------------------------------
  1232. X+     pcmd_setline(param) - _rc.ep setline command
  1233. X+ 
  1234. X+ This command can be used to set the initial line in _rc.ep
  1235. X+ --------------------------------------------------------------------------*/
  1236. X+ int
  1237. X+ pcmd_setline(param)
  1238. X+ ESD *param;
  1239. X+ {
  1240. X+ int erc;
  1241. X+ ESD *tesd;
  1242. X+ 
  1243. X+     if(rc_ep_has_run)
  1244. X+     {
  1245. X+         pprintf("command legal only in _rc.ep\n");
  1246. X+         return(eFATAL_ALREADY);
  1247. X+     }
  1248. X+ 
  1249. X+     if(!(tesd = esdalloc(sizeof(shm->Lline))))
  1250. X+         return(eNoMemory);
  1251. X+     if(erc = gstr(param,tesd,0))
  1252. X+         goto RETURN;
  1253. X+     shm->Lline[0] = 0;
  1254. X+     if(strncmp(tesd->pb,"/dev/",5))
  1255. X+         strcat(shm->Lline,"/dev/");
  1256. X+     strncat(shm->Lline,tesd->pb,sizeof(shm->Lline) - strlen(shm->Lline));
  1257. X+     shm->Lline[sizeof(shm->Lline) - 1] = 0;
  1258. X+     if(proctrace)
  1259. X+         pprintf("line set to %s\n",shm->Lline);
  1260. X+ 
  1261. X+ RETURN:
  1262. X+     esdfree(tesd);
  1263. X+     return(erc);
  1264. X+ }    /* end of pcmd_setline */
  1265. X  
  1266. X  /* vi: set tabstop=4 shiftwidth=4: */
  1267. X  /* end of pcmd.c */
  1268. X*** /export/home/wht/src/ecu314/proc.c    Wed Sep  4 00:25:01 1991
  1269. X--- proc.c    Tue Sep  3 19:09:21 1991
  1270. X***************
  1271. X*** 42,51 ****
  1272. X  #define NEED_P_CMD
  1273. X  #include "ecucmd.h"
  1274. X  
  1275. X- extern int rcvr_pid;
  1276. X- extern int sigint;
  1277. X- extern int proc_interrupt;
  1278. X- 
  1279. X  PCB *pcb_stack[PROC_STACK_MAX];
  1280. X  
  1281. X  int proc_level = 0;
  1282. X--- 42,47 ----
  1283. X***************
  1284. X*** 282,287 ****
  1285. X--- 278,284 ----
  1286. X  /*+-------------------------------------------------------------------------
  1287. X      execute_esd(tesd)
  1288. X  --------------------------------------------------------------------------*/
  1289. X+ int
  1290. X  execute_esd(tesd)
  1291. X  ESD *tesd;
  1292. X  {
  1293. X***************
  1294. X*** 289,301 ****
  1295. X  P_CMD *pcmd;
  1296. X  static P_CMD *set_pcmd = (P_CMD *)0;    /* quick access to 'set' */
  1297. X  char cmd[32];
  1298. X  
  1299. X      /* if interrupt, exit */
  1300. X!     if(sigint)
  1301. X!     {
  1302. X!         proc_interrupt = 1;
  1303. X          return(eCONINT);
  1304. X-     }
  1305. X  
  1306. X      /* if blank, skip it */
  1307. X      if(skip_cmd_break(tesd))
  1308. X--- 286,296 ----
  1309. X  P_CMD *pcmd;
  1310. X  static P_CMD *set_pcmd = (P_CMD *)0;    /* quick access to 'set' */
  1311. X  char cmd[32];
  1312. X+ extern int proc_interrupt;
  1313. X  
  1314. X      /* if interrupt, exit */
  1315. X!     if(sigint | proc_interrupt)
  1316. X          return(eCONINT);
  1317. X  
  1318. X      /* if blank, skip it */
  1319. X      if(skip_cmd_break(tesd))
  1320. X***************
  1321. X*** 437,442 ****
  1322. X--- 432,438 ----
  1323. X  int use_goto_label;
  1324. X  {
  1325. X  int erc = 0;
  1326. X+ extern int proc_interrupt;
  1327. X  
  1328. X      if(proc_level == PROC_STACK_MAX)
  1329. X          return(eProcStackTooDeep);
  1330. X***************
  1331. X*** 501,507 ****
  1332. X              }
  1333. X          }
  1334. X  
  1335. X!         if(proc_interrupt)
  1336. X          {
  1337. X              proc_interrupt = 0;
  1338. X              sigint = 0;
  1339. X--- 497,503 ----
  1340. X              }
  1341. X          }
  1342. X  
  1343. X!         if(sigint || proc_interrupt)
  1344. X          {
  1345. X              proc_interrupt = 0;
  1346. X              sigint = 0;
  1347. X***************
  1348. X*** 637,650 ****
  1349. X  ushort line_count = 0;
  1350. X  extern ulong colors_current;
  1351. X  ulong colors_at_entry = colors_current;
  1352. X  
  1353. X!     proc_interrupt = 0;
  1354. X!     sigint = 0;
  1355. X      for(iargv = 0; iargv < argc; iargv++)
  1356. X      {
  1357. X          if(ipargv == MAX_PARGV)
  1358. X          {
  1359. X!             pprintf("\nToo many arguments to %s invocation\n",pargv[0]);
  1360. X              erc = eFATAL_ALREADY;
  1361. X              goto RETURN;
  1362. X          }
  1363. X--- 633,648 ----
  1364. X  ushort line_count = 0;
  1365. X  extern ulong colors_current;
  1366. X  ulong colors_at_entry = colors_current;
  1367. X+ extern int proc_interrupt;
  1368. X  
  1369. X!     proc_interrupt = 0;        /* ok to reset here because no one ... */
  1370. X!     sigint = 0;                /* ... would call here if interrupted */
  1371. X! 
  1372. X      for(iargv = 0; iargv < argc; iargv++)
  1373. X      {
  1374. X          if(ipargv == MAX_PARGV)
  1375. X          {
  1376. X!             pputs("\nMax arguments to procedure invocation exceeded\n");
  1377. X              erc = eFATAL_ALREADY;
  1378. X              goto RETURN;
  1379. X          }
  1380. X*** /export/home/wht/src/ecu314/procframe.c    Thu Jul 25 12:59:00 1991
  1381. X--- procframe.c    Tue Sep  3 19:33:40 1991
  1382. X***************
  1383. X*** 22,28 ****
  1384. X  
  1385. X  extern PCB *pcb_stack[PROC_STACK_MAX];
  1386. X  extern int proc_level;
  1387. X- extern int proc_interrupt;
  1388. X  extern int proctrace;
  1389. X  
  1390. X  /*+-------------------------------------------------------------------------
  1391. X--- 22,27 ----
  1392. X***************
  1393. X*** 65,70 ****
  1394. X--- 64,70 ----
  1395. X  ESD *text;
  1396. X  int nest_level = 0;
  1397. X  int remember_break = 0;
  1398. X+ extern int proc_interrupt;
  1399. X  
  1400. X      if(!(pcb->current = pcb->current->next))
  1401. X      {
  1402. X*** /export/home/wht/src/ecu314/regexp.c    Wed Sep  4 00:25:09 1991
  1403. X--- regexp.c    Sun Sep  1 03:14:07 1991
  1404. X***************
  1405. X*** 2,8 ****
  1406. X      regexp.c -- regular expression functions made sane
  1407. X  --------------------------------------------------------------------------*/
  1408. X  /*+:EDITS:*/
  1409. X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by slootman@dri.nl */
  1410. X  /*:07-25-1991-12:59-wht@n4hgf-ECU release 3.10 */
  1411. X  /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
  1412. X  
  1413. X--- 2,8 ----
  1414. X      regexp.c -- regular expression functions made sane
  1415. X  --------------------------------------------------------------------------*/
  1416. X  /*+:EDITS:*/
  1417. X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by aega84!lh */
  1418. X  /*:07-25-1991-12:59-wht@n4hgf-ECU release 3.10 */
  1419. X  /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
  1420. X  
  1421. X*** /export/home/wht/src/ecu314/sea/ecusea.c    Wed Sep  4 00:25:14 1991
  1422. X--- sea/ecusea.c    Mon Sep  2 03:04:05 1991
  1423. X***************
  1424. X*** 1,4 ****
  1425. X! char *revision = "3.14";    /* cannot be longer than 7 chars (blk0.sender) */
  1426. X  
  1427. X  /* #define TABLE_CRC16 */
  1428. X  #ifdef M_XENIX
  1429. X--- 1,4 ----
  1430. X! char *revision = "3.15";    /* cannot be longer than 7 chars (blk0.sender) */
  1431. X  
  1432. X  /* #define TABLE_CRC16 */
  1433. X  #ifdef M_XENIX
  1434. X***************
  1435. X*** 58,63 ****
  1436. X--- 58,66 ----
  1437. X  
  1438. X  --------------------------------------------------------------------------*/
  1439. X  /*+:EDITS:*/
  1440. X+ /*:09-01-1991-14:22-wht@n4hgf2-on sun, use termios */
  1441. X+ /*:08-30-1991-20:09-wht@n4hgf2-sun Nap was not returning a value */
  1442. X+ /*:08-30-1991-02:34-jdeitch@jadpc.cts.com-fix no hzmsec */
  1443. X  /*:07-25-1991-12:59-wht@n4hgf-ECU release 3.10 */
  1444. X  /*:03-18-1991-22:49-wht@n4hgf-ISC 2.2 has struct timeval in sys/time.h */
  1445. X  /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
  1446. X***************
  1447. X*** 68,75 ****
  1448. X  #include <signal.h>
  1449. X  #include <setjmp.h>
  1450. X  #include <fcntl.h>
  1451. X- #include <termio.h>
  1452. X  #if defined(sun)
  1453. X  #undef ECHO
  1454. X  #undef NL0
  1455. X  #undef NL1
  1456. X--- 71,86 ----
  1457. X  #include <signal.h>
  1458. X  #include <setjmp.h>
  1459. X  #include <fcntl.h>
  1460. X  #if defined(sun)
  1461. X+ #include <termio.h>
  1462. X+ #include <termio.h>
  1463. X+ #define termio termios
  1464. X+ #undef TCGETA
  1465. X+ #undef TCSETA
  1466. X+ #undef TCSETAW
  1467. X+ #define TCGETA    TCGETS
  1468. X+ #define TCSETA    TCSETS
  1469. X+ #define TCSETAW    TCSETSW
  1470. X  #undef ECHO
  1471. X  #undef NL0
  1472. X  #undef NL1
  1473. X***************
  1474. X*** 89,95 ****
  1475. X  #undef FLUSHO
  1476. X  #undef PENDIN
  1477. X  #undef NOFLSH
  1478. X! #endif
  1479. X  #include <sys/ioctl.h>
  1480. X  #include <sys/types.h>
  1481. X  #include <sys/stat.h>
  1482. X--- 100,109 ----
  1483. X  #undef FLUSHO
  1484. X  #undef PENDIN
  1485. X  #undef NOFLSH
  1486. X! #else
  1487. X! #include <termio.h>
  1488. X! #endif /* sun */
  1489. X! #include <sys/param.h>
  1490. X  #include <sys/ioctl.h>
  1491. X  #include <sys/types.h>
  1492. X  #include <sys/stat.h>
  1493. X***************
  1494. X*** 312,317 ****
  1495. X--- 326,333 ----
  1496. X  As it is nap() is nearly useless.  I believe select() suffers
  1497. X  from the same deficiency (< 1000 msec timeout becomes 1000 msec) but
  1498. X  I haven't "proven" it yet.
  1499. X+ 
  1500. X+ On the sun, we use select to accomplish the nap requirement.
  1501. X  --------------------------------------------------------------------------*/
  1502. X  long
  1503. X  Nap(msec)
  1504. X***************
  1505. X*** 319,331 ****
  1506. X  {
  1507. X  #if defined(sun)
  1508. X  struct timeval timer;
  1509. X!     timer.tv_sec = 0;
  1510. X!     timer.tv_usec = 1000L * msec;
  1511. X!     select(0,0,0,0,&timer);
  1512. X  #else
  1513. X  #if defined(M_XENIX) || defined(WORKING_UNIX_NAP)
  1514. X      return(nap(msec));
  1515. X  #else
  1516. X      if(msec < hzmsec)
  1517. X          msec = hzmsec;
  1518. X      if(nap(msec) < 0)
  1519. X--- 335,362 ----
  1520. X  {
  1521. X  #if defined(sun)
  1522. X  struct timeval timer;
  1523. X!     timer.tv_sec = msec / 1000;
  1524. X!     timer.tv_usec = (msec % 1000L) * 1000L;
  1525. X!     if(select(32,0,0,0,&timer) < 0)
  1526. X!         return(-1);
  1527. X!     return(msec);
  1528. X  #else
  1529. X  #if defined(M_XENIX) || defined(WORKING_UNIX_NAP)
  1530. X      return(nap(msec));
  1531. X  #else
  1532. X+ static ulong hzmsec = 0L;
  1533. X+ /*
  1534. X+  * learn tick rate for various timers
  1535. X+  */
  1536. X+     if(!hzmsec)
  1537. X+     {
  1538. X+         int hz;
  1539. X+         if(getenv("HZ"))
  1540. X+             hz = atoi(getenv("HZ"));
  1541. X+         else
  1542. X+             hz = HZ;
  1543. X+         hzmsec = (ulong)(1000 / hz) + 2;
  1544. X+     }
  1545. X      if(msec < hzmsec)
  1546. X          msec = hzmsec;
  1547. X      if(nap(msec) < 0)
  1548. X***************
  1549. X*** 339,347 ****
  1550. X  /*+-------------------------------------------------------------------------
  1551. X      rdchk(fd) - for systems without it but with FIONREAD
  1552. X  --------------------------------------------------------------------------*/
  1553. X! #if defined(sun)
  1554. X  int
  1555. X  rdchk(fd)
  1556. X  {
  1557. X  int chars_waiting;
  1558. X  
  1559. X--- 370,379 ----
  1560. X  /*+-------------------------------------------------------------------------
  1561. X      rdchk(fd) - for systems without it but with FIONREAD
  1562. X  --------------------------------------------------------------------------*/
  1563. X! #if defined(BSD)
  1564. X  int
  1565. X  rdchk(fd)
  1566. X+ int fd;
  1567. X  {
  1568. X  int chars_waiting;
  1569. X  
  1570. X*** /export/home/wht/src/ecu314/sea/scurses.c    Wed Sep  4 00:25:15 1991
  1571. X--- sea/scurses.c    Sun Sep  1 03:14:07 1991
  1572. X***************
  1573. X*** 48,54 ****
  1574. X  
  1575. X  ------------------------------------------------------------------------*/
  1576. X  /*+:EDITS:*/
  1577. X! /*:08-28-1991-14:08-wht@n4hgf2-SVR4 cleanup by slootman@dri.nl */
  1578. X  /*:07-25-1991-12:59-wht@n4hgf-ECU release 3.10 */
  1579. X  /*:09-19-1990-19:36-wht@n4hgf-ecu_log_event now gets pid for log from caller */
  1580. X  /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
  1581. X--- 48,54 ----
  1582. X  
  1583. X  ------------------------------------------------------------------------*/
  1584. X  /*+:EDITS:*/
  1585. X! /*:08-28-1991-14:08-wht@n4hgf2-SVR4 cleanup by aega84!lh */
  1586. X  /*:07-25-1991-12:59-wht@n4hgf-ECU release 3.10 */
  1587. X  /*:09-19-1990-19:36-wht@n4hgf-ecu_log_event now gets pid for log from caller */
  1588. X  /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
  1589. X***************
  1590. X*** 64,70 ****
  1591. X  #if defined(M_SYSV)
  1592. X  #   include <sys/machdep.h>
  1593. X  #else
  1594. X! #if defined(ISC)
  1595. X  #  include <sys/at_ansi.h>
  1596. X  #  include <sys/kd.h>
  1597. X  #endif
  1598. X--- 64,70 ----
  1599. X  #if defined(M_SYSV)
  1600. X  #   include <sys/machdep.h>
  1601. X  #else
  1602. X! #if defined(ISC) || defined(SVR4)
  1603. X  #  include <sys/at_ansi.h>
  1604. X  #  include <sys/kd.h>
  1605. X  #endif
  1606. X***************
  1607. X*** 304,310 ****
  1608. X  char *title;
  1609. X  {
  1610. X  register int itmp;
  1611. X! #if defined(M_UNIX) || defined(ISC) || defined(M_XENIX)
  1612. X  int monitor_type;
  1613. X  #endif
  1614. X  
  1615. X--- 304,310 ----
  1616. X  char *title;
  1617. X  {
  1618. X  register int itmp;
  1619. X! #if defined(M_UNIX) || defined(ISC) || defined(M_XENIX) || defined(SVR4)
  1620. X  int monitor_type;
  1621. X  #endif
  1622. X  
  1623. X***************
  1624. X*** 319,328 ****
  1625. X--- 319,330 ----
  1626. X      curses_installed = 1;
  1627. X      win = newwin(WIN_LINES,WIN_COLS,WIN_TOPY,WIN_LEFTX);
  1628. X      box(win,sVR,sHR);
  1629. X+ #ifndef SVR4
  1630. X      wmove(win,0,0); waddch(win,sTL);
  1631. X      wmove(win,win->_maxy - 1,0); waddch(win,sBL);
  1632. X      wmove(win,win->_maxy - 1,win->_maxx - 1); waddch(win,sBR);
  1633. X      wmove(win,0,win->_maxx - 1); waddch(win,sTR);
  1634. X+ #endif
  1635. X      wmove(win,0,2);
  1636. X      wstandout(win);
  1637. X      waddch(win,'[');
  1638. X***************
  1639. X*** 331,338 ****
  1640. X--- 333,345 ----
  1641. X      waddch(win,' ');
  1642. X      waddch(win,']');
  1643. X      wstandend(win);
  1644. X+ #ifdef SVR4
  1645. X+     whline(win, (unsigned long)(sHR & 0x00ff), 2);
  1646. X+     wmove(win,0, 8 + strlen(title));
  1647. X+ #else
  1648. X      waddch(win,sHR);
  1649. X      waddch(win,sHR);
  1650. X+ #endif
  1651. X      waddstr(win," dir: ");
  1652. X      waddstr(win,curr_dir);
  1653. X      waddch(win,' ');
  1654. X***************
  1655. X*** 364,370 ****
  1656. X      start_seconds = time((long *)0);
  1657. X      current_seconds = start_seconds;
  1658. X  
  1659. X! #if defined(M_UNIX) || defined(ISC) || defined(M_XENIX)
  1660. X      if(ioctl(0,CONS_GET,&monitor_type) < 0)    /* not multiscreen */
  1661. X      {
  1662. X  #endif
  1663. X--- 371,377 ----
  1664. X      start_seconds = time((long *)0);
  1665. X      current_seconds = start_seconds;
  1666. X  
  1667. X! #if defined(M_UNIX) || defined(ISC) || defined(M_XENIX) || defined(SVR4)
  1668. X      if(ioctl(0,CONS_GET,&monitor_type) < 0)    /* not multiscreen */
  1669. X      {
  1670. X  #endif
  1671. X***************
  1672. X*** 376,382 ****
  1673. X          sRT = vanilla_RT;
  1674. X          sVR = vanilla_VR;
  1675. X          sHR = vanilla_HR;
  1676. X! #if defined(M_UNIX) || defined(ISC) || defined(M_XENIX)
  1677. X      }
  1678. X  #endif
  1679. X  
  1680. X--- 383,389 ----
  1681. X          sRT = vanilla_RT;
  1682. X          sVR = vanilla_VR;
  1683. X          sHR = vanilla_HR;
  1684. X! #if defined(M_UNIX) || defined(ISC) || defined(M_XENIX) || defined(SVR4)
  1685. X      }
  1686. X  #endif
  1687. X  
  1688. X*** /export/home/wht/src/ecu314/stdio_lint.h    Wed Sep  4 00:25:09 1991
  1689. X--- stdio_lint.h    Sun Sep  1 03:14:08 1991
  1690. X***************
  1691. X*** 3,9 ****
  1692. X      wht@n4hgf.Mt-Park.GA.US
  1693. X  --------------------------------------------------------------------------*/
  1694. X  /*+:EDITS:*/
  1695. X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by slootman@dri.nl */
  1696. X  /*:08-25-1991-14:39-wht@n4hgf-SVR4 port thanks to aega84!lh */
  1697. X  /*:07-25-1991-12:59-wht@n4hgf-ECU release 3.10 */
  1698. X  /*:01-18-1991-11:55-wht@n4hgf-fix strchr/strrchr per steve@nshore.ncoast.org */
  1699. X--- 3,9 ----
  1700. X      wht@n4hgf.Mt-Park.GA.US
  1701. X  --------------------------------------------------------------------------*/
  1702. X  /*+:EDITS:*/
  1703. X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by aega84!lh */
  1704. X  /*:08-25-1991-14:39-wht@n4hgf-SVR4 port thanks to aega84!lh */
  1705. X  /*:07-25-1991-12:59-wht@n4hgf-ECU release 3.10 */
  1706. X  /*:01-18-1991-11:55-wht@n4hgf-fix strchr/strrchr per steve@nshore.ncoast.org */
  1707. X*** /export/home/wht/src/ecu314/termecu.h    Thu Jul 25 12:59:00 1991
  1708. X--- termecu.h    Sun Sep  1 16:13:18 1991
  1709. X***************
  1710. X*** 26,31 ****
  1711. X--- 26,32 ----
  1712. X  #define TERMECU_CONFIG_ERROR        140
  1713. X  #define TERMECU_CURSES_ERROR        141
  1714. X  #define TERMECU_RCVR_FATAL_ERROR    142
  1715. X+ #define TERMECU_MALLOC                143
  1716. X  
  1717. X  #define TERMECU_INIT_PROC_ERROR        192
  1718. X  
  1719. X*** /export/home/wht/src/ecu314/z/baudtest.c    Wed Sep  4 00:25:15 1991
  1720. X--- z/baudtest.c    Sun Sep  1 03:14:08 1991
  1721. X***************
  1722. X*** 6,12 ****
  1723. X  which does not get along with termio.h AT ALL
  1724. X  --------------------------------------------------------------------------*/
  1725. SHAR_EOF
  1726. true || echo 'restore of PATCH5.01 failed'
  1727. fi
  1728. echo 'End of ecu/patch05 part 3'
  1729. echo 'File PATCH5.01 is continued in part 4'
  1730. echo 4 > _shar_seq_.tmp
  1731. exit 0
  1732.  
  1733. exit 0 # Just in case...
  1734.