home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume33 / ecu / patch04 < prev    next >
Encoding:
Text File  |  1992-11-15  |  36.2 KB  |  1,211 lines

  1. Newsgroups: comp.sources.misc
  2. From: wht@n4hgf.Mt-Park.GA.US (Warren Tucker)
  3. Subject:  v33i079:  ecu - ECU Asynchronous Communications v3.20, Patch04
  4. Message-ID: <1992Nov16.190024.10643@sparky.imd.sterling.com>
  5. X-Md4-Signature: d9e4ae5a423b31099bfcd12be36a8e10
  6. Date: Mon, 16 Nov 1992 19:00:24 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: wht@n4hgf.Mt-Park.GA.US (Warren Tucker)
  10. Posting-number: Volume 33, Issue 79
  11. Archive-name: ecu/patch04
  12. Environment: SCO,XENIX,ISC,SUNOS,SYSVR4,HDB,Curses
  13. Patch-To: ecu: Volume 32, Issue 36-75
  14.  
  15. This is patch 4 to ECU 3.20.
  16.  
  17. To apply this patch, extract the shell archive below in the ECU
  18. distribution directory, creating one new file (PATCH04).
  19. Then patch by
  20.  
  21.     patch -p0 < PATCH04
  22.  
  23. Then, make depend, make, su root, make install.
  24. Configure is not necessary for this patch.
  25.  
  26. ==> Patch 4 (from CHANGES)
  27.  
  28. 13. jeff@samantha.chi.il.us (Jeff Johnson) suggested a change
  29. in the SVR4 LCK.. logic, stating that the use of <sys/sysmacros.h>
  30. is deprecated.
  31.  
  32. 14. On some systems, the video attributes were not reverted to
  33. "normal" after some reverse video or underlined strings (e.g,
  34. "[interactive mode]").
  35.  
  36. 15. I removed the Metro Link pts support.  This was quite obsolete
  37. since only very early Metro Link software used pts'.
  38.  
  39. 16.  FAS 2.10 users are getting SIGUSR1 sent to the transmitter.
  40. I suspect this is a bug in FAS evoked by the kill(getty,SIGUSR1)
  41. performed by ecuungetty, but I am have no real clue.  This needs
  42. resolving, but I have little time right now.  This patch adds
  43. signal(SIGUSR1,SIG_IGN) to eliminate the problem.
  44.  
  45. 17. Console xon/xoff support has been added.  EMACS users
  46. lament the loss of ^S/^Q.  (I personally consider it evolution
  47. in action :->).  A new inetractive and a new procedure
  48. command have been added  Also, the status is reported by
  49. the interactive stat command.
  50.  
  51.    conxon on  - honor xon/xoff locally
  52.    conxon off - pass ^S/^U to remote
  53.  
  54. If you turn conxon off, there will be no local software flow control
  55. so you probably need hardware flow control for proper operation.
  56. Refer to the rtscts command descriptions for more information
  57. (I pray you are using a tty driver that supports the kind
  58. of hardware flow control your modem requires).
  59.  
  60. 18.  The procedure file transfer commands did not get
  61. rearranged to look for the file transfer programs in the
  62. ecu library directory.
  63.  
  64. 19. Chains of else statements may fail to operate properly
  65. in certain arrangements.  The known failure was fixed.
  66.  
  67. #!/bin/sh
  68. # This is a shell archive (shar 3.461)
  69. # made 11/16/1992 17:53 UTC by wht@n4hgf
  70. # Source directory /u1/src/ecu-shars
  71. #
  72. # existing files WILL be overwritten
  73. #
  74. # This shar contains:
  75. # length  mode       name
  76. # ------ ---------- ------------------------------------------
  77. #  32607 -rw-r--r-- PATCH04
  78. #
  79. # ============= PATCH04 ==============
  80. echo 'x - extracting PATCH04 (Text)'
  81. sed 's/^X//' << 'SHAR_EOF' > 'PATCH04' &&
  82. X:
  83. X#-------------------------------------------------------
  84. X# PATCH04.01
  85. X# created by gendiff x1.30 on 16 Nov 1992 02:05 UTC
  86. X#-------------------------------------------------------
  87. XPrereq: 23
  88. X*** ../ecu-3.23/patchlevel.h    Sun Nov 15 20:39:21 1992
  89. X--- patchlevel.h    Mon Oct  5 13:59:40 1992
  90. X***************
  91. X*** 1 ****
  92. X! #define PATCHLEVEL 23
  93. X--- 1 ----
  94. X! #define PATCHLEVEL 24
  95. X*** ../ecu-3.23/CHANGES    Sun Nov 15 20:38:30 1992
  96. X--- CHANGES    Sat Nov 14 22:39:50 1992
  97. X***************
  98. X*** 39,41 ****
  99. X--- 39,145 ----
  100. X  1992-09-15-18:52-ecutty.c-wht@n4hgf-left some debug code in patch01 dammit 
  101. X  
  102. X  6. Remove debug code from _setcolor().
  103. X+ 
  104. X+ ==> Patch 3
  105. X+ 
  106. X+ 1992-09-17-06:27-ecuicmd.c-wht@n4hgf-add <7-bit kbd> to stat 
  107. X+ 1992-09-17-05:33-mapkey/README-wht@n4hgf-0xE0 should read 0xE1
  108. X+ 1992-09-17-05:16-ecuxkey.h-wht@n4hgf-finally, 0xE1-0xFA as promised in 3.10  
  109. X+ 1992-09-16-14:13-ecunumrev.c-wht@n4hgf-add M and F version qualifiers 
  110. X+ 1992-09-16-13:54-ecuusage.c-wht@n4hgf-add fkmap usage 
  111. X+ 1992-09-16-13:33-funckeymap.c-wht@n4hgf-add fkmap -l name 
  112. X+ 1992-09-16-13:29-termecu.h-wht@n4hgf-add TERMECU_UNRECOVERABLE 
  113. X+ 1992-09-16-13:29-ecusighdl.c-wht@n4hgf-add TERMECU_UNRECOVERABLE text 
  114. X+ 1992-09-15-18:52-ecutty.c-wht@n4hgf-left some debug code in patch01 dammit 
  115. X+ 
  116. X+ 7.  Information on tty "Device busy" errors and color support
  117. X+ have been added to README.Q-and-A.  Obsolete information was
  118. X+ removed.
  119. X+ 
  120. X+ 8. The -l switch was added to the fkmap commands:
  121. X+        fkmap -l <name>
  122. X+ The -l form reads an entire funckeymap definition matching <name>
  123. X+ from ~/.ecu/funckeymap (if not found there, in a file by the same
  124. X+ name in the library directory).  This form behaves exactly
  125. X+ in the same manner as the command line switch -F.
  126. X+ Due to the drastic nature of this command, if it fails to
  127. X+ execute properly, ECU terminates itself.  Note that
  128. X+ improper use of this form of the command can still render
  129. X+ ECU an albatross (with Home unrecognizable).
  130. X+ 
  131. X+ 9.  The original high-bit character space assignments for Alt-A
  132. X+ through Alt-Z that I chose for ECU made good sense ...  to a
  133. X+ parochial American.  Michael Traub <emory!btcs.bt.co.uk!traub>
  134. X+ sets me straight, but mapkey/README was incorrect.  Each hex
  135. X+ value was off by one.
  136. X+ 
  137. X+ 10.  If the console has parity enabled, the interactive stat
  138. X+ command now reports <7-bit kbd>.  Knowing this can be important
  139. X+ if you are using Alt-[A-Z].  Or if you are trying for some kind
  140. X+ of unlikely tandem 8-bit transparent path (telnet to a box, run
  141. X+ ecu to call home, login, use ECU there to talk to your amateur
  142. X+ radio PK-232/MBX TNC over 14 MHz AMTOR to the UK to a Kantronics
  143. X+ TNC hooked to an SCO box, login, make an ECU call to a certain
  144. X+ Universal Import-Export ...  uh, hi -- I seem to have dozed off).
  145. X+ 
  146. X+ 11.  At least one ISC SVR3 user had a Devices entry with the
  147. X+ modem control ",M" suffix I thought was only used in SVR4 UUCP.
  148. X+ The suffix presence is now detected on all platforms.
  149. X+ 
  150. X+ 12. ecusea.c had two fcntl.h inclusions.  XENIX could not
  151. X+ handle this.
  152. X+ 
  153. X+ ==> Patch 4
  154. X+ 
  155. X+ 13. jeff@samantha.chi.il.us (Jeff Johnson) suggested a change
  156. X+ in the SVR4 LCK.. logic, stating that the use of <sys/sysmacros.h>
  157. X+ is deprecated.
  158. X+ 
  159. X+ > Here is an excerpt from my <sys/sysmacros.h>:
  160. X+ > 
  161. X+ >    WARNING: The device number macros defined here should not be
  162. X+ >    used by device drivers or user software.  Device drivers
  163. X+ >    should use the device functions defined in the DDI/DKI
  164. X+ >    interface (see also ddi.h).  Application software should make
  165. X+ >    use of the library routines available in makedev(3).  A set of
  166. X+ >    new device macros are provided to operate on the expanded
  167. X+ >    device number format supported in SVR4.  Macro versions of the
  168. X+ >    DDI device functions are provided for use by kernel proper
  169. X+ >    routines only.  Macro routines bmajor(), major(), minor(),
  170. X+ >    emajor(), eminor(), and makedev() will be removed or their
  171. X+ >    definitions changed at the next major release following SVR4.
  172. X+ 
  173. X+ 14. On some systems, the video attributes were not reverted to
  174. X+ "normal" after some reverse video or underlined strings (e.g,
  175. X+ "[interactive mode]").
  176. X+ 
  177. X+ 15. I removed the Metro Link pts support.  This was quite obsolete
  178. X+ since only very early Metro Link software used pts'.
  179. X+ 
  180. X+ 16.  FAS 2.10 users are getting SIGUSR1 sent to the transmitter.
  181. X+ I suspect this is a bug in FAS evoked by the kill(getty,SIGUSR1)
  182. X+ performed by ecuungetty, but I am have no real clue.  This needs
  183. X+ resolving, but I have little time right now.  This patch adds
  184. X+ signal(SIGUSR1,SIG_IGN) to eliminate the problem.
  185. X+ 
  186. X+ 17. Console xon/xoff support has been added.  EMACS users
  187. X+ lament the loss of ^S/^Q.  (I personally consider it evolution
  188. X+ in action :->).  A new inetractive and a new procedure
  189. X+ command have been added  Also, the status is reported by
  190. X+ the interactive stat command.
  191. X+ 
  192. X+    conxon on  - honor xon/xoff locally
  193. X+    conxon off - pass ^S/^U to remote
  194. X+ 
  195. X+ If you turn conxon off, there will be no local software flow control
  196. X+ so you probably need hardware flow control for proper operation.
  197. X+ Refer to the rtscts command descriptions for more information
  198. X+ (I pray you are using a tty driver that supports the kind
  199. X+ of hardware flow control your modem requires).
  200. X+ 
  201. X+ 18.  The procedure file transfer commands did not get
  202. X+ rearranged to look for the file transfer programs in the
  203. X+ ecu library directory.
  204. X+ 
  205. X+ 19. Chains of else statements may fail to operate properly
  206. X+ in certain arrangements.  The known failure was fixed.
  207. X*** ../ecu-3.23/doc/_icmd.txt    Sun Nov 15 20:39:23 1992
  208. X--- doc/_icmd.txt    Sun Oct 18 16:02:32 1992
  209. X***************
  210. X*** 116,121 ****
  211. X--- 116,136 ----
  212. X  interactive command to return to the previous directory.
  213. X  
  214. X  Other %options have usage information by entering them with no arguments.
  215. X+ 
  216. X+ .*s 2 "CONXon : console xon/xoff flow control"
  217. X+ .DS L
  218. X+ usage: conxon [<arg>]
  219. X+ where <arg> is on    honor ^S/^Q local flow control (DEFAULT)
  220. X+                off   pass ^S/^Q to remote
  221. X+ .DE
  222. X+ 
  223. X+ This command enables or disables console xon/xoff flow control.
  224. X+ If the argument is omitted, the current flow control state is displayed.
  225. X+ 
  226. X+ If on, typing ^S/^Q stops or restarts the local console driver
  227. X+ output.  If off, ^S and ^Q are passed to the remote (for EMACS,
  228. X+ of course -- who else?).
  229. X+ 
  230. X  .*s 2 "DA : decimal to ascii char"
  231. X  .DS L
  232. X  usage: da [<decimal-val>]
  233. X***************
  234. X*** 1156,1162 ****
  235. X  and two-character control character identifier.
  236. X  
  237. X  
  238. X! .*s 2 "XON : xon/xoff flow control"
  239. X  .DS L
  240. X  usage: xon [<arg>]
  241. X  where <arg> is on    input and output flow control
  242. X--- 1171,1177 ----
  243. X  and two-character control character identifier.
  244. X  
  245. X  
  246. X! .*s 2 "XON : line xon/xoff flow control"
  247. X  .DS L
  248. X  usage: xon [<arg>]
  249. X  where <arg> is on    input and output flow control
  250. X*** ../ecu-3.23/doc/_p_cmd.txt    Sun Nov 15 20:39:24 1992
  251. X--- doc/_p_cmd.txt    Sun Oct 18 16:02:41 1992
  252. X***************
  253. X*** 179,184 ****
  254. X--- 179,198 ----
  255. X  .B else
  256. X  command.
  257. X  
  258. X+ .*s 2 "conxon"
  259. X+ .DS L
  260. X+ usage: conxon [<arg>]
  261. X+ where <arg> is on    honor ^S/^Q local flow control (DEFAULT)
  262. X+                off   pass ^S/^Q to remote
  263. X+ .DE
  264. X+ 
  265. X+ This command enables or disables console xon/xoff flow control.
  266. X+ If the argument is omitted, the current flow control state is displayed.
  267. X+ 
  268. X+ If on, typing ^S/^Q stops or restarts the local console driver
  269. X+ output.  If off, ^S and ^Q are passed to the remote (for EMACS,
  270. X+ of course -- who else?).
  271. X+ 
  272. X  .*s 2 "cursor"
  273. X  
  274. X  usage: cursor <row> [<col>]
  275. X*** ../ecu-3.23/doc/_p_ifunc.txt    Sun Nov 15 16:43:02 1992
  276. X--- doc/_p_ifunc.txt    Mon Oct 26 13:15:19 1992
  277. X***************
  278. X*** 432,438 ****
  279. X  .*s 2 "%rchr"
  280. X  
  281. X  This function returns the number of characters
  282. X! received by ECU since the program starrted.
  283. X  
  284. X  .*s 2 "%rchrc"
  285. X  
  286. X--- 432,438 ----
  287. X  .*s 2 "%rchr"
  288. X  
  289. X  This function returns the number of characters
  290. X! received by ECU since the program started.
  291. X  
  292. X  .*s 2 "%rchrc"
  293. X  
  294. X*** ../ecu-3.23/doc/_top.txt    Sun Nov 15 16:43:09 1992
  295. X--- doc/_top.txt    Sun Oct 18 16:19:55 1992
  296. X***************
  297. X*** 31,37 ****
  298. X  .sp .5i
  299. X  .ce 100
  300. X  Technical Description
  301. X! Revision 3.20
  302. X  \n(mo/\n(dy/\n(yr
  303. X  .ce 0
  304. X  .sp 1i
  305. X--- 31,37 ----
  306. X  .sp .5i
  307. X  .ce 100
  308. X  Technical Description
  309. X! Revision 3.24
  310. X  \n(mo/\n(dy/\n(yr
  311. X  .ce 0
  312. X  .sp 1i
  313. X*** ../ecu-3.23/doc/proc.txt    Sun Nov 15 16:43:12 1992
  314. X--- doc/proc.txt    Sun Oct 18 16:20:02 1992
  315. X***************
  316. X*** 32,38 ****
  317. X  .sp 1i
  318. X  .ce 100
  319. X  Procedure Language
  320. X! Revision 3.20
  321. X  \n(mo/\n(dy/\n(yr
  322. X  .ce 0
  323. X  .sp 1i
  324. X--- 32,38 ----
  325. X  .sp 1i
  326. X  .ce 100
  327. X  Procedure Language
  328. X! Revision 3.24
  329. X  \n(mo/\n(dy/\n(yr
  330. X  .ce 0
  331. X  .sp 1i
  332. X*** ../ecu-3.23/ecuLCK.c    Sun Nov 15 16:37:26 1992
  333. X--- ecuLCK.c    Wed Oct  7 21:19:40 1992
  334. X***************
  335. X*** 1,7 ****
  336. X--- 1,9 ----
  337. X  #define HONEYDANBER /* means use ASCII pids in lock files */
  338. X+ #define USE_SVR4_MKDEV_H /* jeff@samantha.chi.il.us SVR4 lock file correction */
  339. X  #if defined(SHARE_DEBUG)
  340. X  #define LOG_LOCKS
  341. X  #endif
  342. X+ 
  343. X  /*+-----------------------------------------------------------------------
  344. X      ecuLCK.c -- ECU lock file management
  345. X      wht@n4hgf.Mt-Park.GA.US
  346. X***************
  347. X*** 16,21 ****
  348. X--- 18,24 ----
  349. X  check for both.
  350. X  ------------------------------------------------------------------------*/
  351. X  /*+:EDITS:*/
  352. X+ /*:10-07-1992-21:09-jeff@samantha.chi.il.us-SVR4 lock file correction */
  353. X  /*:09-10-1992-13:58-wht@n4hgf-ECU release 3.20 */
  354. X  /*:08-22-1992-15:38-wht@n4hgf-ECU release 3.20 BETA */
  355. X  /*:08-21-1992-13:39-wht@n4hgf-rewire direct/modem device use */
  356. X***************
  357. X*** 34,40 ****
  358. X--- 37,47 ----
  359. X  #include "ecu.h"
  360. X  #include "utmpstatus.h"
  361. X  #if defined(SVR4)
  362. X+ #ifndef USE_SVR4_MKDEV_H
  363. X  # include <sys/sysmacros.h>
  364. X+ #else
  365. X+ # include <sys/mkdev.h>
  366. X+ #endif /* USE_SVR4_MKDEV_H */
  367. X  #endif
  368. X  
  369. X  extern int errno;
  370. X***************
  371. X*** 63,69 ****
  372. X      }
  373. X      sprintf(lock_file_name,"%s/LK.%03u.%03u.%03u",
  374. X          lock_dir_name,major(tbuf.st_dev),
  375. X!         tbuf.st_rdev >> 18, minor(tbuf.st_rdev));
  376. X  #else
  377. X  
  378. X      /*
  379. X--- 70,81 ----
  380. X      }
  381. X      sprintf(lock_file_name,"%s/LK.%03u.%03u.%03u",
  382. X          lock_dir_name,major(tbuf.st_dev),
  383. X! #ifndef USE_SVR4_MKDEV_H
  384. X!         tbuf.st_rdev >> 18,
  385. X! #else
  386. X!         major(tbuf.st_rdev),
  387. X! #endif /* USE_SVR4_MKDEV_H */
  388. X!          minor(tbuf.st_rdev));
  389. X  #else
  390. X  
  391. X      /*
  392. X*** ../ecu-3.23/ecucmd.h    Sun Nov 15 16:37:32 1992
  393. X--- ecucmd.h    Sun Oct 18 15:09:37 1992
  394. X***************
  395. X*** 3,8 ****
  396. X--- 3,9 ----
  397. X      wht@n4hgf.Mt-Park.GA.US
  398. X  --------------------------------------------------------------------------*/
  399. X  /*+:EDITS:*/
  400. X+ /*:10-18-1992-14:26-wht@n4hgf-add conxon */
  401. X  /*:09-10-1992-13:58-wht@n4hgf-ECU release 3.20 */
  402. X  /*:08-30-1992-23:06-wht@n4hgf-add fkmap */
  403. X  /*:08-22-1992-15:38-wht@n4hgf-ECU release 3.20 BETA */
  404. X***************
  405. X*** 37,42 ****
  406. X--- 38,44 ----
  407. X      CTbreak,
  408. X      CTcd,
  409. X      CTclrx,
  410. X+     CTconxon,
  411. X      CTda,
  412. X      CTdcdwatch,
  413. X      CTdial,
  414. X***************
  415. X*** 123,128 ****
  416. X--- 125,131 ----
  417. X  S int pcmd_cls() BODY
  418. X  S int pcmd_color() BODY
  419. X  S int pcmd_continue() BODY
  420. X+ S int pcmd_conxon() BODY
  421. X  S int pcmd_cursor() BODY
  422. X  S int pcmd_dcdwatch() BODY
  423. X  S int pcmd_delline() BODY
  424. X***************
  425. X*** 247,252 ****
  426. X--- 250,256 ----
  427. X      { "cls",    0,0,        "",                                pcmd_cls,    0  },
  428. X      { "color",    0,0,        "",                                pcmd_color,    0  },
  429. X      { "continue",0,0,        "",                                pcmd_continue,0},
  430. X+     { "conxon",    4,CTconxon,    "console software flow control",pcmd_conxon,  0},
  431. X      { "cursor",    0,0,        "",                                pcmd_cursor,0  },
  432. X      { "da",        2,CTda,        "decimal to ascii char",        0,          ccG},
  433. X      { "dcdwatch",3,CTdcdwatch,"control DCD disconnect",        pcmd_dcdwatch,ccC},
  434. X***************
  435. X*** 364,370 ****
  436. X      { "whiles",    0,0,        "",                                pcmd_whiles,0  },
  437. X      { "xa",        2,CTxa,        "hex to ascii char",            0,         ccG },
  438. X      { "xlog",    2,CTxlog,    "protocol packet logging",        0,         ccT },
  439. X!     { "xon",    2,CTxon,    "xon/xoff flow control",        pcmd_xon,  ccC },
  440. X  /* these cmds are interecepted by special code in ecucmd.h and appear
  441. X   * here only so they will be picked up by the help system.
  442. X   */
  443. X--- 368,374 ----
  444. X      { "whiles",    0,0,        "",                                pcmd_whiles,0  },
  445. X      { "xa",        2,CTxa,        "hex to ascii char",            0,         ccG },
  446. X      { "xlog",    2,CTxlog,    "protocol packet logging",        0,         ccT },
  447. X!     { "xon",    2,CTxon,    "line xon/xoff flow control",    pcmd_xon,  ccC },
  448. X  /* these cmds are interecepted by special code in ecucmd.h and appear
  449. X   * here only so they will be picked up by the help system.
  450. X   */
  451. X*** ../ecu-3.23/ecuicmd.c    Sun Nov 15 20:39:26 1992
  452. X--- ecuicmd.c    Fri Oct 30 11:49:05 1992
  453. X***************
  454. X*** 9,14 ****
  455. X--- 9,16 ----
  456. X  
  457. X  ------------------------------------------------------------------------*/
  458. X  /*+:EDITS:*/
  459. X+ /*:10-18-1992-14:26-wht@n4hgf-add conxon */
  460. X+ /*:10-08-1992-01:12-wht@n4hgf-no more obsolete Metro Link PTS */
  461. X  /*:09-17-1992-06:27-wht@n4hgf-add <7-bit kbd> to stat */
  462. X  /*:09-13-1992-12:52-wht@n4hgf-show tty_is_scoterm during stat */
  463. X  /*:09-10-1992-13:58-wht@n4hgf-ECU release 3.20 */
  464. X***************
  465. X*** 61,69 ****
  466. X  extern long tty_escape_timeout;        /* timeout on waiting for char after ESC */
  467. X  extern int tcap_COLS;
  468. X  extern int tcap_LINES;
  469. X- #if defined(METROLINK_X11R4_PTS)
  470. X- extern int tty_is_pts;
  471. X- #endif /* METROLINK_X11R4_PTS */
  472. X  extern int errno;
  473. X  extern int proc_interrupt;
  474. X  extern int proctrace;
  475. X--- 63,68 ----
  476. X***************
  477. X*** 143,148 ****
  478. X--- 142,148 ----
  479. X      long atol();
  480. X      char *find_procedure();
  481. X      char *xon_status();
  482. X+     char *console_xon_status();
  483. X  #ifdef sun
  484. X      int modem_lines;
  485. X  #endif
  486. X***************
  487. X*** 632,638 ****
  488. X          ff(se,"Hardware flow control configuration: ");
  489. X          display_hw_flow_config();
  490. X  #else
  491. X!         ff(se,"no hardware flow control available\n");
  492. X  #endif
  493. X  
  494. X          if(!shm->Lconnected)
  495. X--- 632,638 ----
  496. X          ff(se,"Hardware flow control configuration: ");
  497. X          display_hw_flow_config();
  498. X  #else
  499. X!         ff(se,"no hardware flow control available\r\n");
  500. X  #endif
  501. X  
  502. X          if(!shm->Lconnected)
  503. X***************
  504. X*** 663,674 ****
  505. X              ff(se,"<scoterm> ");
  506. X          if(tty_is_pty)
  507. X              ff(se,"<pty> ");
  508. X- #if defined(METROLINK_X11R4_PTS)
  509. X-         if(tty_is_pts)
  510. X-             ff(se,"<pts> ");
  511. X- #endif /* METROLINK_X11R4_PTS */
  512. X          if(kbd_is_7bit)
  513. X              ff(se,"<7-bit kbd> ");
  514. X          ff(se,"\r\n");
  515. X  
  516. X  #if defined(USE_ECUUNGETTY)
  517. X--- 663,671 ----
  518. X              ff(se,"<scoterm> ");
  519. X          if(tty_is_pty)
  520. X              ff(se,"<pty> ");
  521. X          if(kbd_is_7bit)
  522. X              ff(se,"<7-bit kbd> ");
  523. X+         fputs(console_xon_status(),se);
  524. X          ff(se,"\r\n");
  525. X  
  526. X  #if defined(USE_ECUUNGETTY)
  527. X***************
  528. X*** 728,733 ****
  529. X--- 725,742 ----
  530. X              break;
  531. X          }
  532. X          ff(se,"  xon/xoff flow control: %s\r\n",xon_status());
  533. X+         break;
  534. X+ 
  535. X+         case CTconxon:
  536. X+         if(narg > 1)
  537. X+         {
  538. X+             if(set_console_xon_xoff_by_arg(arg[1]))
  539. X+                 ff(se,"  argument error\r\n");
  540. X+             else
  541. X+                 ff(se,"\r\n");
  542. X+             break;
  543. X+         }
  544. X+         ff(se,"\r\nconsole xon/xoff flow control: %s\r\n",console_xon_status());
  545. X          break;
  546. X  
  547. X          case CTsgr:
  548. X*** ../ecu-3.23/ecusighdl.c    Sun Nov 15 20:39:28 1992
  549. X--- ecusighdl.c    Sun Oct 18 14:11:12 1992
  550. X***************
  551. X*** 29,34 ****
  552. X--- 29,35 ----
  553. X  
  554. X  ------------------------------------------------------------------------*/
  555. X  /*+:EDITS:*/
  556. X+ /*:10-18-1992-14:11-wht@n4hgf-FAS 2.10 users getting SIGUSR1 on xmtr */
  557. X  /*:09-16-1992-13:29-wht@n4hgf-add TERMECU_UNRECOVERABLE text */
  558. X  /*:09-10-1992-13:59-wht@n4hgf-ECU release 3.20 */
  559. X  /*:08-22-1992-15:38-wht@n4hgf-ECU release 3.20 BETA */
  560. X***************
  561. X*** 586,596 ****
  562. X--- 587,601 ----
  563. X              case SIGCLD:
  564. X                  signal(sig,xmtr_SIGCLD_handler);
  565. X                  break;
  566. X+             case SIGUSR1:
  567. X+                 signal(sig,SIG_IGN);
  568. X+                 break;
  569. X              case SIGUSR2:
  570. X                  signal(sig,xmtr_SIGUSR2_handler);
  571. X                  break;
  572. X              default:
  573. X                  signal(sig,xmtr_death_handler);
  574. X+                 break;
  575. X          }
  576. X      }
  577. X  
  578. X*** ../ecu-3.23/ecutty.c    Sun Nov 15 20:39:29 1992
  579. X--- ecutty.c    Sun Oct 18 16:02:05 1992
  580. X***************
  581. X*** 83,88 ****
  582. X--- 83,91 ----
  583. X  
  584. X  --------------------------------------------------------------------------*/
  585. X  /*+:EDITS:*/
  586. X+ /*:10-18-1992-14:26-wht@n4hgf-add console xon/xoff control */
  587. X+ /*:10-08-1992-01:12-wht@n4hgf-no more obsolete Metro Link PTS */
  588. X+ /*:10-08-1992-01:06-wht@n4hgf-SVR4 color work + !use_color normal fix */
  589. X  /*:09-15-1992-18:52-wht@n4hgf-left some debug code in patch01 dammit */
  590. X  /*:09-13-1992-12:52-wht@n4hgf-add tty_is_scoterm */
  591. X  /*:09-10-1992-13:59-wht@n4hgf-ECU release 3.20 */
  592. X***************
  593. X*** 158,170 ****
  594. X  uint LINESxCOLS;
  595. X  int current_ttymode = 0;
  596. X  int ttymode_termecu_on_sigint = 0;
  597. X- #if defined(METROLINK_X11R4_PTS)
  598. X- int tty_is_pts;
  599. X- #endif
  600. X  int tty_is_pty;
  601. X  int tty_is_multiscreen;
  602. X  int tty_is_scoterm;
  603. X  int tty_not_char_special;
  604. X  int use_colors = 0;        /* set by ttyinit, but default no */
  605. X  char *ttype;            /* getenv("TERM") */
  606. X  
  607. X--- 161,171 ----
  608. X  uint LINESxCOLS;
  609. X  int current_ttymode = 0;
  610. X  int ttymode_termecu_on_sigint = 0;
  611. X  int tty_is_pty;
  612. X  int tty_is_multiscreen;
  613. X  int tty_is_scoterm;
  614. X  int tty_not_char_special;
  615. X+ int tty_use_kbd_sw_flow_control = 1;
  616. X  int use_colors = 0;        /* set by ttyinit, but default no */
  617. X  char *ttype;            /* getenv("TERM") */
  618. X  
  619. X***************
  620. X*** 178,186 ****
  621. X  struct stat dn;
  622. X  struct stat tty01;
  623. X  struct stat ttyp0;
  624. X- #if defined(METROLINK_X11R4_PTS)
  625. X- struct stat pts000;
  626. X- #endif /* METROLINK_X11R4_PTS */
  627. X  struct stat console;
  628. X  
  629. X  uchar kbdeof;            /* current input EOF */
  630. X--- 179,184 ----
  631. X***************
  632. X*** 208,242 ****
  633. X   *
  634. X   */
  635. X  #ifdef M_SYSV /* SCO */
  636. X- ulong colors_current = 0x04070A00L;
  637. X- ulong colors_normal = 0x04070A00L;    /* default lt_green/black red/white */
  638. X  ulong colors_initial = 0x04070A00L;    /* default initial colors */
  639. X  ulong colors_success = 0x07000A00L;    /* lt_green/black red/white */
  640. X! ulong colors_alert = 0x0E000E00L;    /* yellow */
  641. X! ulong colors_error = 0x04000400L;    /* red */
  642. X! ulong colors_notify = 0x08000800L;    /* gray */
  643. X  #define COLORS_DEFINED
  644. X  #endif /* M_SYSV */
  645. X  
  646. X  #if defined(ISCSVR4)
  647. X  ulong colors_current = 0x00003740L;
  648. X! ulong colors_normal = 0x00003740L;    /* */
  649. X! ulong colors_initial = 0x00003740L;    /* */
  650. X! ulong colors_success = 0x00003740L;    /* */
  651. X! ulong colors_alert = 0x00003740L;    /* */
  652. X! ulong colors_error = 0x00003140L;    /* */
  653. X! ulong colors_notify = 0x00003340L;    /* */
  654. X  #define COLORS_DEFINED
  655. X  #endif /* ISCSVR4 */
  656. X  
  657. X  #if defined(ESIXSVR4)
  658. X  ulong colors_current = 0x00003740L;
  659. X! ulong colors_normal = 0x00003740L;    /* not correct - THESE NEED FIXING */
  660. X! ulong colors_initial = 0x00003740L;    /* not correct - THESE NEED FIXING */
  661. X! ulong colors_success = 0x00003740L;    /* not correct - THESE NEED FIXING */
  662. X! ulong colors_alert = 0x00003740LL;    /* not correct - THESE NEED FIXING */
  663. X! ulong colors_error = 0x00003140L;    /* not correct - THESE NEED FIXING */
  664. X! ulong colors_notify = 0x00003340L;    /* not correct - THESE NEED FIXING */
  665. X  #define COLORS_DEFINED
  666. X  
  667. X  static struct color_remapping {
  668. X--- 206,240 ----
  669. X   *
  670. X   */
  671. X  #ifdef M_SYSV /* SCO */
  672. X  ulong colors_initial = 0x04070A00L;    /* default initial colors */
  673. X+ ulong colors_current = 0x04070A00L; /* colors set during execution */
  674. X+ ulong colors_normal  = 0x04070A00L;    /* default lt_green/black red/white */
  675. X  ulong colors_success = 0x07000A00L;    /* lt_green/black red/white */
  676. X! ulong colors_alert   = 0x0E000E00L;    /* yellow */
  677. X! ulong colors_error   = 0x04000400L;    /* red */
  678. X! ulong colors_notify  = 0x08000800L;    /* gray */
  679. X  #define COLORS_DEFINED
  680. X  #endif /* M_SYSV */
  681. X  
  682. X  #if defined(ISCSVR4)
  683. X+ ulong colors_initial = 0x00003740L;
  684. X  ulong colors_current = 0x00003740L;
  685. X! ulong colors_normal  = 0x00003740L;    /* white */
  686. X! ulong colors_success = 0x00003240L;    /* green */
  687. X! ulong colors_alert   = 0x00003340L;    /* yellow */
  688. X! ulong colors_error   = 0x00003140L;    /* red  */
  689. X! ulong colors_notify  = 0x00003640L;    /* cyan */
  690. X  #define COLORS_DEFINED
  691. X  #endif /* ISCSVR4 */
  692. X  
  693. X  #if defined(ESIXSVR4)
  694. X+ ulong colors_initial = 0x00003740L;
  695. X  ulong colors_current = 0x00003740L;
  696. X! ulong colors_normal  = 0x00003740L;    /* ? */
  697. X! ulong colors_success = 0x00003240L;    /* ? */
  698. X! ulong colors_alert   = 0x00003340L;    /* ? */
  699. X! ulong colors_error   = 0x00003140L;    /* ? */
  700. X! ulong colors_notify  = 0x00003640L;    /* ? */
  701. X  #define COLORS_DEFINED
  702. X  
  703. X  static struct color_remapping {
  704. X***************
  705. X*** 287,298 ****
  706. X  {
  707. X      long ms = 300L;
  708. X  
  709. X-     /* make pts sweat, but don't make as many mistakes */
  710. X- #if defined(METROLINK_X11R4_PTS)
  711. X-     if(tty_is_pts)
  712. X-         return(ms);
  713. X- #endif /* METROLINK_X11R4_PTS */
  714. X- 
  715. X      /* make network/xterm/pty sweat, but don't make as many mistakes */
  716. X      if(tty_is_pty)
  717. X          return(ms);
  718. X--- 285,290 ----
  719. X***************
  720. X*** 437,444 ****
  721. X              tcap_stand_out();
  722. X          else
  723. X          {
  724. X!             tcap_underscore_on();
  725. X!             tcap_bold_on();
  726. X              tcap_stand_end();
  727. X          }
  728. X          return;
  729. X--- 429,436 ----
  730. X              tcap_stand_out();
  731. X          else
  732. X          {
  733. X!             tcap_underscore_off();
  734. X!             tcap_bold_off();
  735. X              tcap_stand_end();
  736. X          }
  737. X          return;
  738. X***************
  739. X*** 738,753 ****
  740. X          tty_is_pty = 1;
  741. X  
  742. X      /*
  743. X-      * if pts
  744. X-      */
  745. X- #if defined(METROLINK_X11R4_PTS)
  746. X-     memset((char *)&pts000,0xFF,sizeof(struct stat));
  747. X-     stat("/dev/pts000",&pts000);
  748. X-     if((tty_stat.st_rdev & 0xFF00) == (pts000.st_rdev & 0xFF00))
  749. X-         tty_is_pts = 1;
  750. X- #endif /* METROLINK_X11R4_PTS */
  751. X- 
  752. X-     /*
  753. X       * use color if we are on a display that supports it and we know how :-|
  754. X       */
  755. X      use_colors = 0;
  756. X--- 730,735 ----
  757. X***************
  758. X*** 885,891 ****
  759. X          /* don't want to honor tty xon/xoff, but pass to other end */
  760. X          tty_termio_current.c_iflag &=
  761. X              ~(INLCR | ICRNL | IGNCR | IUCLC | ISTRIP);
  762. X!         tty_termio_current.c_iflag |= IXON | IXOFF;    /* both ends xon/xoff */
  763. X  
  764. X          tty_termio_current.c_oflag |= OPOST;
  765. X          tty_termio_current.c_oflag &= ~(OLCUC | ONLCR | OCRNL | ONOCR | ONLRET);
  766. X--- 867,876 ----
  767. X          /* don't want to honor tty xon/xoff, but pass to other end */
  768. X          tty_termio_current.c_iflag &=
  769. X              ~(INLCR | ICRNL | IGNCR | IUCLC | ISTRIP);
  770. X!         if(tty_use_kbd_sw_flow_control)
  771. X!             tty_termio_current.c_iflag |= IXON | IXOFF;
  772. X!         else
  773. X!             tty_termio_current.c_iflag &= ~(IXON | IXOFF);
  774. X  
  775. X          tty_termio_current.c_oflag |= OPOST;
  776. X          tty_termio_current.c_oflag &= ~(OLCUC | ONLCR | OCRNL | ONOCR | ONLRET);
  777. X***************
  778. X*** 1447,1452 ****
  779. X--- 1432,1478 ----
  780. X      return(ttname);
  781. X  #endif
  782. X  }    /* end of get_ttyname */
  783. X+ 
  784. X+ /*+-------------------------------------------------------------------------
  785. X+     set_console_xon_xoff_by_arg(arg)
  786. X+ --------------------------------------------------------------------------*/
  787. X+ int
  788. X+ set_console_xon_xoff_by_arg(arg)
  789. X+ char *arg;
  790. X+ {
  791. X+     int new_xon_xoff = 0;
  792. X+ 
  793. X+     if(ulcmpb(arg,"on") < 0)
  794. X+     {
  795. X+         new_xon_xoff = IXON | IXOFF;
  796. X+         tty_use_kbd_sw_flow_control = 1;
  797. X+     }
  798. X+     else if(ulcmpb(arg,"off") < 0)
  799. X+     {
  800. X+         new_xon_xoff = 0;
  801. X+         tty_use_kbd_sw_flow_control = 0;
  802. X+     }
  803. X+     else
  804. X+         return(-1);
  805. X+ 
  806. X+     tty_termio_current.c_iflag &= ~(IXON|IXOFF);
  807. X+     tty_termio_current.c_iflag |= new_xon_xoff;
  808. X+     ioctl(TTYIN,TCSETA,(char *)&tty_termio_current);
  809. X+     return(0);
  810. X+ 
  811. X+ }    /* end of set_console_xon_xoff_by_arg */
  812. X+ 
  813. X+ /*+-------------------------------------------------------------------------
  814. X+     console_xon_status()
  815. X+ --------------------------------------------------------------------------*/
  816. X+ char *
  817. X+ console_xon_status()
  818. X+ {
  819. X+     if(tty_use_kbd_sw_flow_control)
  820. X+         return("HONOR ^S/^Q locally");
  821. X+     else
  822. X+         return("PASS ^S/^Q to remote");
  823. X+ }    /* end of console_xon_status */
  824. X  
  825. X  /* end of ecutty.c */
  826. X  /* vi: set tabstop=4 shiftwidth=4: */
  827. X*** ../ecu-3.23/ecuutil.c    Sun Nov 15 16:38:34 1992
  828. X--- ecuutil.c    Wed Nov 11 14:47:13 1992
  829. X***************
  830. X*** 261,266 ****
  831. X--- 261,270 ----
  832. X      }
  833. X  
  834. X      token = parseptr;
  835. X+ 
  836. X+     /*
  837. X+      * tokens beginning with apostrophe or quotes kept together
  838. X+      */
  839. X      if(*token == '\'')
  840. X      {
  841. X          token++;
  842. X***************
  843. X*** 278,283 ****
  844. X--- 282,305 ----
  845. X          str_token_static = (char *)0;
  846. X          return(token);
  847. X      }
  848. X+     else if(*token == '"')
  849. X+     {
  850. X+         token++;
  851. X+         parseptr++;
  852. X+         while(*parseptr)
  853. X+         {
  854. X+             if(*parseptr == '"')
  855. X+             {
  856. X+                 str_token_static = parseptr + 1;
  857. X+                 *parseptr = 0;
  858. X+                 return(token);
  859. X+             }
  860. X+             parseptr++;
  861. X+         }
  862. X+         str_token_static = (char *)0;
  863. X+         return(token);
  864. X+     }
  865. X+ 
  866. X      while(*parseptr)
  867. X      {
  868. X          if(strchr(termchars,*parseptr))
  869. X*** ../ecu-3.23/help/ecuhelp.src    Sun Nov 15 20:39:35 1992
  870. X--- help/ecuhelp.src    Sun Oct 18 16:02:52 1992
  871. X***************
  872. X*** 1,5 ****
  873. X  # ecu help source file
  874. X! #+:EDITS:*/
  875. X  #:09-10-1992-13:59-wht@n4hgf-ECU release 3.20
  876. X  #:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  877. X  #:04-19-1992-20:41-wht@n4hgf-upgrade kbdtest entry
  878. X--- 1,6 ----
  879. X  # ecu help source file
  880. X! #+:EDITS:
  881. X! #:10-18-1992-15:16-wht@n4hgf-add conxon
  882. X  #:09-10-1992-13:59-wht@n4hgf-ECU release 3.20
  883. X  #:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  884. X  #:04-19-1992-20:41-wht@n4hgf-upgrade kbdtest entry
  885. X***************
  886. X*** 97,102 ****
  887. X--- 98,114 ----
  888. X  from the list or saving the list to file ~/.ecu/dir.  This file is
  889. X  automatically read at ecu startup, providing a convenient list of
  890. X  directories available for quick selection.
  891. X+ #--------------------------------------------------------------------
  892. X+ %conxon
  893. X+ Usage: conxon [<arg>]
  894. X+ where <arg> is on    honor ^S/^Q local flow control (DEFAULT)
  895. X+                off   pass ^S/^Q to remote
  896. X+ 
  897. X+ This command enables or disables console xon/xoff flow control.
  898. X+ If the argument is omitted, the current flow control state is
  899. X+ displayed.  If on, typing ^S/^Q stops or restarts the local
  900. X+ console driver output.  If off, ^S and ^Q are passed to the
  901. X+ remote (for EMACS, of course -- who else?).
  902. X  #--------------------------------------------------------------------
  903. X  %dcdwatch
  904. X  Usage: dcdwatch [<dcdwatch-param>]
  905. X*** ../ecu-3.23/models/if_test.ep    Sun Nov 15 16:43:28 1992
  906. X--- models/if_test.ep    Sat Nov 14 23:02:36 1992
  907. X***************
  908. X*** 31,34 ****
  909. X      else ifle 5
  910. X          echo 'bad news 5'
  911. X      else
  912. X!         echo 'compound if works'
  913. X--- 31,56 ----
  914. X      else ifle 5
  915. X          echo 'bad news 5'
  916. X      else
  917. X!         echo 'compound if 1 works'
  918. X! 
  919. X!     $s0 = '123'
  920. X!     ifi %len($s0) == 0
  921. X!         echo 'bad news 20'
  922. X!     else
  923. X!     {
  924. X!         ifs $s0 == '123'
  925. X!             echo 'compound if 2 works'
  926. X!         else ifs $s0 == 'def'
  927. X!             echo 'bad news 21'
  928. X!         else
  929. X!             echo 'bad news 22'
  930. X!     }
  931. X! 
  932. X!     $s0 = '123'
  933. X!     ifs $s0 == 'def'
  934. X!         echo 'bad news 31'
  935. X!     else ifs $s0 == '123'
  936. X!         echo 'compound if 3 works'
  937. X!     else
  938. X!         echo 'bad news 32'
  939. X! 
  940. X*** ../ecu-3.23/pcmdif.c    Sun Nov 15 16:40:10 1992
  941. X--- pcmdif.c    Sat Nov 14 23:15:53 1992
  942. X***************
  943. X*** 28,33 ****
  944. X--- 28,34 ----
  945. X  
  946. X  --------------------------------------------------------------------------*/
  947. X  /*+:EDITS:*/
  948. X+ /*:11-14-1992-22:37-wht@n4hgf-multiple else loses track of truth */
  949. X  /*:09-10-1992-14:00-wht@n4hgf-ECU release 3.20 */
  950. X  /*:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA */
  951. X  /*:07-25-1991-12:59-wht@n4hgf-ECU release 3.10 */
  952. X***************
  953. X*** 253,258 ****
  954. X--- 254,261 ----
  955. X  
  956. X      if(!(tesd1 = esdalloc(256)) || !(tesd2 = esdalloc(256)))
  957. X      {
  958. X+         if(tesd1)
  959. X+             esdfree(tesd1);
  960. X          erc = eNoMemory;
  961. X          goto RETURN;
  962. X      }    
  963. X***************
  964. X*** 345,351 ****
  965. X          }
  966. X      }
  967. X  
  968. X!     truth_already[if_level] = truth;
  969. X  
  970. X  /* if end of command, execute frame else conditionally execute rest of esd */
  971. X      s80[0] = 0;
  972. X--- 348,354 ----
  973. X          }
  974. X      }
  975. X  
  976. X!     truth_already[if_level] |= truth;
  977. X  
  978. X  /* if end of command, execute frame else conditionally execute rest of esd */
  979. X      s80[0] = 0;
  980. X***************
  981. X*** 383,395 ****
  982. X      }
  983. X  
  984. X  /* we have an "else" condition */
  985. X-     truth = !truth;
  986. X      pcb->current = pcb->current->next;
  987. X  
  988. X      trace_proc_cmd(pcb);
  989. X  
  990. X      if(end_of_cmd(else_line))
  991. X          erc = execute_frame(truth);
  992. X      else
  993. X      {
  994. X          save_index = else_line->old_index = else_line->index;
  995. X--- 386,400 ----
  996. X      }
  997. X  
  998. X  /* we have an "else" condition */
  999. X      pcb->current = pcb->current->next;
  1000. X  
  1001. X      trace_proc_cmd(pcb);
  1002. X  
  1003. X      if(end_of_cmd(else_line))
  1004. X+     {
  1005. X+         truth = !truth_already[if_level];
  1006. X          erc = execute_frame(truth);
  1007. X+     }
  1008. X      else
  1009. X      {
  1010. X          save_index = else_line->old_index = else_line->index;
  1011. X***************
  1012. X*** 465,470 ****
  1013. X--- 470,476 ----
  1014. X          else if(!strncmp(s80,"while",5))
  1015. X          {
  1016. X              pputs("'while' command not allowed as 'else' conditional\n");
  1017. X+             pputs("put the statement inside braces\n");
  1018. X              return(eFATAL_ALREADY);
  1019. X          }
  1020. X          else
  1021. X*** ../ecu-3.23/pcmdtty.c    Sun Nov 15 16:40:14 1992
  1022. X--- pcmdtty.c    Sun Oct 18 14:32:21 1992
  1023. X***************
  1024. X*** 21,26 ****
  1025. X--- 21,27 ----
  1026. X  
  1027. X  --------------------------------------------------------------------------*/
  1028. X  /*+:EDITS:*/
  1029. X+ /*:10-18-1992-14:26-wht@n4hgf-add conxon */
  1030. X  /*:09-10-1992-14:00-wht@n4hgf-ECU release 3.20 */
  1031. X  /*:08-30-1992-23:15-wht@n4hgf-add fkmap */
  1032. X  /*:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA */
  1033. X***************
  1034. X*** 424,429 ****
  1035. X--- 425,460 ----
  1036. X      tcap_delete_lines(1);
  1037. X      return(0);
  1038. X  }    /* end of pcmd_delline */
  1039. X+ 
  1040. X+ /*+-------------------------------------------------------------------------
  1041. X+     pcmd_conxon(param)
  1042. X+ --------------------------------------------------------------------------*/
  1043. X+ int
  1044. X+ pcmd_conxon(param)
  1045. X+ ESD *param;
  1046. X+ {
  1047. X+     int erc;
  1048. X+     char new_xonxoff[8];
  1049. X+     char *conxon_status();
  1050. X+ 
  1051. X+     if(shm->Liofd < 0)
  1052. X+         return(eNoLineAttached);
  1053. X+ 
  1054. X+     if(erc = get_alpha_zstr(param,new_xonxoff,sizeof(new_xonxoff)))
  1055. X+         return(erc);
  1056. X+ 
  1057. X+     if(set_console_xon_xoff_by_arg(new_xonxoff))
  1058. X+         return(eBadParameter);
  1059. X+ 
  1060. X+     if(proctrace)
  1061. X+     {
  1062. X+         pprintf("console xon/xoff flow control set to %s\n",
  1063. X+             console_xon_status());
  1064. X+     }
  1065. X+ 
  1066. X+     return(erc);
  1067. X+ 
  1068. X+ }    /* end of pcmd_conxon */
  1069. X  
  1070. X  /* vi: set tabstop=4 shiftwidth=4: */
  1071. X  /* end of pcmdtty.c */
  1072. X*** ../ecu-3.23/pcmdxfer.c    Sun Nov 15 16:40:16 1992
  1073. X--- pcmdxfer.c    Wed Oct 21 19:19:49 1992
  1074. X***************
  1075. X*** 20,25 ****
  1076. X--- 20,26 ----
  1077. X  
  1078. X  --------------------------------------------------------------------------*/
  1079. X  /*+:EDITS:*/
  1080. X+ /*:10-21-1992-19:15-wht@n4hgf-proc file xfer didnt learn about eculibdir */
  1081. X  /*:09-10-1992-14:00-wht@n4hgf-ECU release 3.20 */
  1082. X  /*:09-05-1992-15:35-wht@n4hgf-add -r to sz */
  1083. X  /*:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA */
  1084. X***************
  1085. X*** 247,253 ****
  1086. X      /*
  1087. X       * build command at beginning of 'cmdesd' ESD
  1088. X       */
  1089. X!     sprintf(cmdesd->pb,"ecusz -X -. %d ",shm->Liofd);
  1090. X      strcat(cmdesd->pb,bottom_label);
  1091. X  
  1092. X  #if defined(WHT)    /* for testing */
  1093. X--- 248,254 ----
  1094. X      /*
  1095. X       * build command at beginning of 'cmdesd' ESD
  1096. X       */
  1097. X!     sprintf(cmdesd->pb,"%s/ecusz -X -. %d ",eculibdir,shm->Liofd);
  1098. X      strcat(cmdesd->pb,bottom_label);
  1099. X  
  1100. X  #if defined(WHT)    /* for testing */
  1101. X***************
  1102. X*** 320,326 ****
  1103. X      /*
  1104. X       * build command at beginning of 'cmdesd' ESD
  1105. X       */
  1106. X!     sprintf(cmdesd->pb,"ecusz -Y -. %d -k ",shm->Liofd);
  1107. X      strcat(cmdesd->pb,bottom_label);
  1108. X      if(strchr(switches,'a'))
  1109. X          strcat(cmdesd->pb,"-a ");
  1110. X--- 321,327 ----
  1111. X      /*
  1112. X       * build command at beginning of 'cmdesd' ESD
  1113. X       */
  1114. X!     sprintf(cmdesd->pb,"%s/ecusz -Y -. %d ",eculibdir,shm->Liofd);
  1115. X      strcat(cmdesd->pb,bottom_label);
  1116. X      if(strchr(switches,'a'))
  1117. X          strcat(cmdesd->pb,"-a ");
  1118. X***************
  1119. X*** 397,403 ****
  1120. X      /*
  1121. X       * build command at beginning of 'cmdesd' ESD
  1122. X       */
  1123. X!     sprintf(cmdesd->pb,"ecusz -Z -. %d -y ",shm->Liofd);
  1124. X      strcat(cmdesd->pb,bottom_label);
  1125. X  
  1126. X      if(strchr(switches,'N'))        /* force "no curses" */
  1127. X--- 398,404 ----
  1128. X      /*
  1129. X       * build command at beginning of 'cmdesd' ESD
  1130. X       */
  1131. X!     sprintf(cmdesd->pb,"%s/ecusz -Z -. %d ",eculibdir,shm->Liofd);
  1132. X      strcat(cmdesd->pb,bottom_label);
  1133. X  
  1134. X      if(strchr(switches,'N'))        /* force "no curses" */
  1135. X***************
  1136. X*** 631,637 ****
  1137. X      /*
  1138. X       * build command in 'cmdstr' string
  1139. X       */
  1140. X!     sprintf(cmdstr,"ecurz -X -. %d -c ",shm->Liofd);
  1141. X      strcat(cmdstr,bottom_label);
  1142. X      if(!strchr(switches,'b'))
  1143. X          strcat(cmdstr,"-b ");
  1144. X--- 632,638 ----
  1145. X      /*
  1146. X       * build command in 'cmdstr' string
  1147. X       */
  1148. X!     sprintf(cmdstr,"%s/ecurz -X -. %d ",eculibdir,shm->Liofd);
  1149. X      strcat(cmdstr,bottom_label);
  1150. X      if(!strchr(switches,'b'))
  1151. X          strcat(cmdstr,"-b ");
  1152. X***************
  1153. X*** 677,683 ****
  1154. X      /*
  1155. X       * build command in 'cmdstr' string
  1156. X       */
  1157. X!     sprintf(cmdstr,"ecurz -Y -. %d -y ",shm->Liofd);
  1158. X      strcat(cmdstr,bottom_label);
  1159. X      file_xfer_start();
  1160. X      if(exec_cmd(cmdstr))
  1161. X--- 678,684 ----
  1162. X      /*
  1163. X       * build command in 'cmdstr' string
  1164. X       */
  1165. X!     sprintf(cmdstr,"%s/ecurz -Y -. %d ",eculibdir,shm->Liofd);
  1166. X      strcat(cmdstr,bottom_label);
  1167. X      file_xfer_start();
  1168. X      if(exec_cmd(cmdstr))
  1169. X***************
  1170. X*** 712,718 ****
  1171. X      /*
  1172. X       * build command in 'cmdstr' string
  1173. X       */
  1174. X!     sprintf(cmdstr,"ecurz -Z -. %d ",shm->Liofd);
  1175. X      strcat(cmdstr,bottom_label);
  1176. X  
  1177. X      if(strchr(switches,'N'))        /* force "no curses" */
  1178. X--- 713,719 ----
  1179. X      /*
  1180. X       * build command in 'cmdstr' string
  1181. X       */
  1182. X!     sprintf(cmdstr,"%s/ecurz -Z -. %d ",eculibdir,shm->Liofd);
  1183. X      strcat(cmdstr,bottom_label);
  1184. X  
  1185. X      if(strchr(switches,'N'))        /* force "no curses" */
  1186. X*** ../ecu-3.23/sea/ecusea.c    Sun Nov 15 16:41:17 1992
  1187. X--- sea/ecusea.c    Sun Oct  4 21:59:05 1992
  1188. X***************
  1189. X*** 81,87 ****
  1190. X  #include <signal.h>
  1191. X  #include <setjmp.h>
  1192. X  #include <fcntl.h>
  1193. X- #include <fcntl.h>
  1194. X  #include <errno.h>
  1195. X  #if defined(sun)
  1196. X  #include <termios.h>
  1197. X--- 81,86 ----
  1198. SHAR_EOF
  1199. chmod 0644 PATCH04 ||
  1200. echo 'restore of PATCH04 failed'
  1201. Wc_c="`wc -c < 'PATCH04'`"
  1202. test 32607 -eq "$Wc_c" ||
  1203.     echo 'PATCH04: original size 32607, current size' "$Wc_c"
  1204. exit 0
  1205.  
  1206. --------------------------------------------------------------------
  1207. Warren Tucker, TuckerWare       n4hgf!wht or wht@n4hgf.Mt-Park.GA.US
  1208. Hacker Extraordinaire  d' async PADs,  pods,  proteins and protocols
  1209.  
  1210. exit 0 # Just in case...
  1211.