home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume22 / ecu / patch01a next >
Text File  |  1991-08-16  |  52KB  |  1,818 lines

  1. Newsgroups: comp.sources.misc
  2. From: Warren Tucker <wht@n4hgf.Mt-Park.GA.US>
  3. Subject:  v22i019:  ecu - ECU async comm package rev 3.10, Patch01a/3
  4. Message-ID: <csm-v22i019=ecu.210425@sparky.imd.sterling.com>
  5. X-Md4-Signature: 414fd92d99cbc90437bf81d10cf70f5e
  6. Date: Fri, 16 Aug 1991 02:05:38 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: Warren Tucker <wht@n4hgf.Mt-Park.GA.US>
  10. Posting-number: Volume 22, Issue 19
  11. Archive-name: ecu/patch01a
  12. Environment: SCO, XENIX, ISC
  13. Patch-To: ecu: Volume 21, Issue 53-89
  14.  
  15. This is patch 1 to ecu 3.10, issues v21i053 through v21i089.
  16.  
  17. This patch fixes several bugs with the original program as well
  18. as advances the ISC support.  The file README.P1 contains a
  19. complete list of the fixes.  The doc/*.txt files are updated
  20. by the patch, but this is of minor use if you lack nroff.
  21. The README.P1 file contains most of the essential information,
  22. but I will be happy to mail a new manual to anyone who asks.
  23.  
  24. #!/bin/sh
  25. # This is ecu310-p1, a shell archive (shar 3.46)
  26. # made 08/12/1991 08:12 UTC by wht@n4hgf
  27. # Source directory /u1/src/ecu
  28. #
  29. # existing files WILL be overwritten
  30. #
  31. # This shar contains:
  32. # length  mode       name
  33. # ------ ---------- ------------------------------------------
  34. #   7317 -rw-r--r-- README.P1
  35. #     65 -rwxr-xr-x PATCH1.APPLY
  36. #  40147 -rw-r--r-- PATCH1.01
  37. #  49101 -rw-r--r-- PATCH1.02
  38. #  19884 -rw-r--r-- PATCH1.03
  39. #   1322 -rwxr-xr-x Configure
  40. #   4817 -rw-r--r-- eculock.c
  41. #   5101 -rw-r--r-- ecuungetty/ecuungetty.c
  42. #   1397 -rw-r--r-- logevent.c
  43. #     22 -rw-r--r-- patchlevel.h
  44. #    735 -rw-r--r-- utmpstatus.h
  45. #    659 -rwxr-xr-x zgcc
  46. #
  47. if touch 2>&1 | fgrep 'amc' > /dev/null
  48.  then TOUCH=touch
  49.  else TOUCH=true
  50. fi
  51. # ============= README.P1 ==============
  52. echo 'x - extracting README.P1 (Text)'
  53. sed 's/^X//' << 'SHAR_EOF' > 'README.P1' &&
  54. XREADME.P1           ECU 3.10 Patch 1     Mon Aug 12 03:46:20 EDT 1991
  55. X
  56. XThis describes patch 1 to ECU 3.10, bringing the program to
  57. Xversion 3.11.  Due to the manner in which the program builds its
  58. Xversion strings, patchlevel.h should contain #define PATCHLEVEL
  59. X11.
  60. X
  61. XTo use
  62. X------
  63. X
  64. XTo apply the patch, unshar all of the parts.  This step will
  65. Xcreate patch files and overwrite some files whose diffs were
  66. Xlarger than the new files.
  67. X
  68. Xtype the command
  69. X    sh PATCH1.APPLY
  70. X
  71. Xthen do the
  72. X    Configure
  73. Xsequence and re-make
  74. X
  75. XOnce you are satisfied the patch has been correctly applied,
  76. Xyou may 
  77. X    rm PATCH1.*
  78. Xand
  79. X    make neat
  80. Xto remove the usual crud and peanut hulls left on the floor after
  81. Xa patch operation.
  82. X
  83. XThis patch fixes the following problems:
  84. X----------------------------------------
  85. X
  86. X1.  ISC lock files are placed in /usr/spool/locks.  ECU now has a
  87. Xconfigurable lock file directory whose name is automatically selected
  88. Xdepending upon the machine type.
  89. X
  90. X1.  1.  Several problems with compiling the the makedirs program under
  91. XXENIX were fixed.
  92. X
  93. X3.  The 'w' (wait) subcommand of the dialing directory screen was not
  94. Xasking for both single and multiple entry list weait values, but only
  95. Xthe first.
  96. X
  97. X4.  VT220 and perhaps other terminals insist upon generating the CSI
  98. X(ESCape plus 0x80) character as a function prefix.  To handle the need
  99. Xfor eight bit keryboard support for nonansikeys, I did the following:
  100. X
  101. X   a. fixed the ECU code to honor the full eight bits of keyboard
  102. X      code sequences when processing function key reads.
  103. X
  104. X   b. removed other code that masks the parity bit of various data items.
  105. X
  106. X   c. added code the kbdtest3.c that includes an stty -a listing for
  107. X      the keyboard at the time it is run.  I also specify in clearer
  108. X      terms what parity was in use and that may be required to use
  109. X      the keyboard.
  110. X
  111. X5.  Previously, you had to have a copy of nonansikeys in each user's
  112. X.ecu directory who use non-ANSI consoles.  You may now put a single copy
  113. Xin the ECU library directory (usually /usr/local/lib/ecu).  ECU searches
  114. Xfirst in ~/.ecu then in the library directory.
  115. X
  116. X5a. The manual stated a number of restrictions regarding
  117. Xthe codes which can be transmitted by a keyboard to be supported
  118. Xby the non-ANSI console feature.  I missed updating that manual part
  119. Xwhen I released 3.10.  ECU 3.10 merely requires the code sequence
  120. Xto be free of nulls and less than 33 characters in length.
  121. X
  122. X6.  The models/nonansikeys file has been updated to include an entry for
  123. Xthe latest Metro Link X11R4 server.  The new server has improved default
  124. Xkey bindings and the previously dead KP_5 (unshifted Keypad 5) lives.
  125. X
  126. X7.  In previous revisions of ECU, when editing an existing string on a
  127. Xscreen, the cursor was placed at the end of the line at the commencement
  128. Xof editing.  This was untrue of 3.10 and this patch restores the
  129. Xbehavior.
  130. X
  131. X8.  Baud rates below 300 now get two stop bits.  I doubt anyone is using
  132. X110 baud but if you ever get the hankering, it will work now.
  133. X
  134. X9.  In the respond function of the expect-respond handler, \n sent CR
  135. Xnot NL as documented.
  136. X
  137. X10.  The test for an environment HZ was incorrect causing the
  138. Xsys/param.h value to be used always.
  139. X
  140. X11.  The 'nap' procedure command napped for the wrong amount of time if
  141. Xthe -m option was used.
  142. X
  143. X12. Under some conditions, ecuungetty would find a lock file created by
  144. Xits (parent) ECU and report that the line was in use by another dial out.
  145. XThis has been around for a long time.
  146. X
  147. X13. The command history mechanism got botched up by some last minute
  148. Xchanges to the tty line input editor. 
  149. X
  150. X14. Some work (largely in the dark) has been done to handle
  151. Xdifferences between ISC and SCO tty naming.  The new manual entry says
  152. Xof the -l startup switch:
  153. X
  154. X  The argument to the switch is the base name of the tty (e.g., "tty1a" or
  155. X  "acu0").  On SCO, since ttys are all named consistently according to the
  156. X  "/dev/ttyxx" form, you may omit the "tty" (e.g., "1a" or "4g").
  157. X
  158. XThe new manual entry says of the tty name fierld in the dialing directory:
  159. X
  160. X  A specific line is specified by using the base name of the tty (e.g.,
  161. X  "tty1a" or "acu0").  On SCO, since ttys are all named consistently
  162. X  according to the "/dev/ttyxx" form, you may omit the "tty" (e.g., "1a"
  163. X  or "4g").
  164. X
  165. XThis means than on ISC you must now fully specify the base name
  166. Xof the tty.  On SCO, you now have the -option- of doing the same or
  167. Xyou may continue to use the two character suffix.
  168. X
  169. XI believe that now:
  170. X
  171. X  on SCO, you may use any tty name whose base name begins with "tty".
  172. X  on ISC, add tty names whose base name begins with "acu"
  173. X
  174. X15. Miscellaneous other (nonvisible or debugging) changes were made.
  175. X
  176. X:EDITS: summary:
  177. X----------------
  178. XConfigure                   change FASI_IN_USE to FASI
  179. Xecu.c                       add memstat 
  180. Xecu.c                       jpm@logixwi fix: HZ getenv test wrong sense 
  181. Xecu.c                       soup up -l for ISC vs. SCO 
  182. Xecu.h                       configurable lock directory 
  183. XecuLCK.c                    SCO_TTY_NAMING considerations 
  184. XecuLCK.c                    configurable lock directory 
  185. XecuLCK.c                    race with ecuungetty over lock resolved 
  186. Xecucmd.h                    add memstat 
  187. Xecuicmd.c                   add memstat 
  188. Xecuicmd.c                   turn off memstat after frustrating evening 
  189. Xecuicmhelp.c                when editing string, set cursor to end 
  190. Xecuicmhist.c                new ttygets botched command history handler 
  191. Xeculine.c                   SCO_TTY_NAMING considerations 
  192. Xeculine.c                   baud rates below 300 get two stop bits 
  193. Xeculine.c                   remove unused externs 
  194. Xeculock.c                   US_WEGOTIT handling 
  195. Xeculock.c                   configurable lock directory 
  196. Xecuphone.c                  soup up tty name for ISC vs. SCO 
  197. Xecuphone.c                  w subcommand was not asking both questions 
  198. Xecuphone.c                  when editing string, set cursor to end 
  199. Xecusetup.c                  ISC tty names 
  200. Xecuungetty/ecuungetty.c     US_WEGOIT handling 
  201. Xecuungetty/ecuungetty.c     add debug log event code 
  202. Xecuwinutil.c                when editing string, set cursor to end 
  203. Xexpresp.c                   \n sent CR not NL 
  204. Xexpresp.c                   detect NULL expect string 
  205. Xexpresp.c                   nap min of hzmsec if \m 
  206. Xhdbintf.c                   US_WEGOTIT handling 
  207. Xkbdtest3.c                  add parity reporting 
  208. Xkbdtest3.c                  some terminals reinvent parity bit's use 
  209. Xlint_args.h                 afterlint-creation 
  210. Xlogevent.c                  use static logname 
  211. Xmakedirs.c                  need smart_fork for XENIX 
  212. Xmkdirs.c                    how did compile succeed without signal.h? 
  213. Xmkdirs.c                    no need for sys/wait.h + XENIX doesn't have it 
  214. Xmodels/nonansikeys          add new Metro Link server entry
  215. Xnonansikey.c                allow any code as first in key sequence 
  216. Xnonansikey.c                look for nonansikeys in ECULIBDIR too 
  217. Xpcmd.c                      add nap -1 return and proctrace 
  218. Xpcmd.c                      nap -m test wrong sense ... old bug! 
  219. Xutmpstat.c                  US_WEGOTIT handling 
  220. Xutmpstatus.h                add US_WEGOTIT 
  221. Xz/Make.src                  neat used wrong rm args
  222. Xzgcc                        thanks for the -p1 suggestion to sef@kithrup.com
  223. SHAR_EOF
  224. $TOUCH -am 0812041291 'README.P1' &&
  225. chmod 0644 README.P1 ||
  226. echo 'restore of README.P1 failed'
  227. Wc_c="`wc -c < 'README.P1'`"
  228. test 7317 -eq "$Wc_c" ||
  229.     echo 'README.P1: original size 7317, current size' "$Wc_c"
  230. # ============= PATCH1.APPLY ==============
  231. echo 'x - extracting PATCH1.APPLY (Text)'
  232. sed 's/^X//' << 'SHAR_EOF' > 'PATCH1.APPLY' &&
  233. X:
  234. Xpatch -p < PATCH1.01
  235. Xpatch -p < PATCH1.02
  236. Xpatch -p < PATCH1.03
  237. SHAR_EOF
  238. $TOUCH -am 0812041091 'PATCH1.APPLY' &&
  239. chmod 0755 PATCH1.APPLY ||
  240. echo 'restore of PATCH1.APPLY failed'
  241. Wc_c="`wc -c < 'PATCH1.APPLY'`"
  242. test 65 -eq "$Wc_c" ||
  243.     echo 'PATCH1.APPLY: original size 65, current size' "$Wc_c"
  244. # ============= PATCH1.01 ==============
  245. echo 'x - extracting PATCH1.01 (Text)'
  246. sed 's/^X//' << 'SHAR_EOF' > 'PATCH1.01' &&
  247. X:
  248. X#-------------------------------------------------------
  249. X# PATCH1.01
  250. X# Fixes and ISC Compatibility
  251. X# created by gendiff x1.03 on 12 Aug 1991 08:00 UTC
  252. X#-------------------------------------------------------
  253. X*** /u1/src/ecu310/Make.src    Sat Jul 27 16:02:00 1991
  254. X--- Make.src    Sat Aug 10 19:50:38 1991
  255. X***************
  256. X*** 23,30
  257. X  .SUFFIXES: .o .c .h .l
  258. X  .c.o:;    $(BINTIME) $(CC) -c $(CFLAGS) $*.c 
  259. X  
  260. X! ECUSHARNAME=ecu310
  261. X! MANSHARNAME=ecuman310
  262. X  
  263. X  SRC    = \
  264. X      bamboozle.c\
  265. X
  266. X--- 23,30 -----
  267. X  .SUFFIXES: .o .c .h .l
  268. X  .c.o:;    $(BINTIME) $(CC) -c $(CFLAGS) $*.c 
  269. X  
  270. X! ECUSHARNAME=ecu311
  271. X! MANSHARNAME=ecuman311
  272. X  
  273. X  SRC    = \
  274. X      bamboozle.c\
  275. X***************
  276. X*** 230,236
  277. X      $(CC) -o $@ $(LDFLAGS) $(MAKEDIRS_OBJ) $(LIBS)
  278. X  
  279. X  # install ecu
  280. X! iecu: makedirs
  281. X      ./makedirs -m 755 $(LBIN)
  282. X      ./makedirs -m 755 $(ECULIBDIR)
  283. X      rm -f $(INSTALLABLE) $(INSTALLABLE)~
  284. X
  285. X--- 230,236 -----
  286. X      $(CC) -o $@ $(LDFLAGS) $(MAKEDIRS_OBJ) $(LIBS)
  287. X  
  288. X  # install ecu
  289. X! iecu: makedirs ecu
  290. X      ./makedirs -m 755 $(LBIN)
  291. X      ./makedirs -m 755 $(ECULIBDIR)
  292. X      rm -f $(INSTALLABLE) $(INSTALLABLE)~
  293. X*** /u1/src/ecu310/config.c    Sat Jul 27 15:54:00 1991
  294. X--- config.c    Mon Aug 12 00:30:59 1991
  295. X***************
  296. X*** 273,279
  297. X      }
  298. X      fputs("\t-DECULIBDIR='\"$(ECULIBDIR)\"'\\\n",fpmake);
  299. X  #if defined(WHT)
  300. X!     fputs("\t-DWHT -DMORSE -DFASI -DSHARE_DEBUG -g\\\n",fpmake);
  301. X  #else
  302. X  #if defined(MORSE)
  303. X      fputs("\t-DMORSE -g\\\n",fpmake);
  304. X
  305. X--- 273,279 -----
  306. X      }
  307. X      fputs("\t-DECULIBDIR='\"$(ECULIBDIR)\"'\\\n",fpmake);
  308. X  #if defined(WHT)
  309. X!     fputs("\t-DWHT -DMORSE -DFASI -g\\\n",fpmake);
  310. X  #else
  311. X  #if defined(MORSE)
  312. X      fputs("\t-DMORSE -g\\\n",fpmake);
  313. X***************
  314. X*** 570,576
  315. X          }
  316. X      }
  317. X  
  318. X!     printf("Thank you.\n\n");
  319. X  
  320. X      makedir = makedirs;
  321. X      while(*makedir)
  322. X
  323. X--- 570,576 -----
  324. X          }
  325. X      }
  326. X  
  327. X!     printf("\nThank you.\n\n");
  328. X  
  329. X      makedir = makedirs;
  330. X      while(*makedir)
  331. X***************
  332. X*** 578,583
  333. X  
  334. X      if(!debug)
  335. X          tputstrs(strs_mkdep);
  336. X  
  337. X      goodbye(0);
  338. X  }
  339. X
  340. X--- 578,587 -----
  341. X  
  342. X      if(!debug)
  343. X          tputstrs(strs_mkdep);
  344. X+ 
  345. X+ #ifdef WHT
  346. X+     system("make depend");
  347. X+ #endif
  348. X  
  349. X      goodbye(0);
  350. X  }
  351. X*** /u1/src/ecu310/doc/_features.txt    Fri Jun 28 01:09:00 1991
  352. X--- doc/_features.txt    Sun Aug 11 19:17:41 1991
  353. X***************
  354. X*** 113,118
  355. X  to an internal function key representation
  356. X  by testing all keystroke sequences again an internal table loaded
  357. X  at the beginning of execution from the file ~/.ecu/nonansikeys.
  358. X  NOTE that supported terminals MUST employ function keys which generate
  359. X  sequences beginning with a character code between 0x01 and 0x1F, inclusive,
  360. X  and containing no nulls.  Also, no sequence may begin with your end of line,
  361. X
  362. X--- 113,121 -----
  363. X  to an internal function key representation
  364. X  by testing all keystroke sequences again an internal table loaded
  365. X  at the beginning of execution from the file ~/.ecu/nonansikeys.
  366. X+ A default nonansikeys may be placed in the ECU library directory
  367. X+ (normally /usr/local/lib/ecu).
  368. X+ 
  369. X  NOTE that supported terminals MUST employ function keys which generate
  370. X  sequences free of nulls and less than 33 characters in length.
  371. X  
  372. X***************
  373. X*** 114,122
  374. X  by testing all keystroke sequences again an internal table loaded
  375. X  at the beginning of execution from the file ~/.ecu/nonansikeys.
  376. X  NOTE that supported terminals MUST employ function keys which generate
  377. X! sequences beginning with a character code between 0x01 and 0x1F, inclusive,
  378. X! and containing no nulls.  Also, no sequence may begin with your end of line,
  379. X! erase, interrupt, kill or other tty control character.
  380. X  
  381. X  The program kbdtest3 (the source is provided in the distribution) can
  382. X  assist you in determining what codes (if any) are delivered to ECU when
  383. X
  384. X--- 117,123 -----
  385. X  (normally /usr/local/lib/ecu).
  386. X  
  387. X  NOTE that supported terminals MUST employ function keys which generate
  388. X! sequences free of nulls and less than 33 characters in length.
  389. X  
  390. X  The program kbdtest3 (the source is provided in the distribution) can
  391. X  assist you in determining what codes (if any) are delivered to ECU when
  392. X***************
  393. X*** 131,137
  394. X  
  395. X  .DS I
  396. X  #+------------------------------
  397. X! # ECU 3.0 nonansikeys
  398. X  #-------------------------------
  399. X  ansilike
  400. X  ansi
  401. X
  402. X--- 132,138 -----
  403. X  
  404. X  .DS I
  405. X  #+------------------------------
  406. X! # ECU 3.10 nonansikeys
  407. X  #-------------------------------
  408. X  ansilike
  409. X  ansi
  410. X***************
  411. X*** 509,514
  412. X  .B dial
  413. X  command.
  414. X  
  415. X  Entering or editing a dialing directory entry is for the most part
  416. X  straightforward.  A note on the use of the "tty" field is useful, however.
  417. X  When prompted for a tty, you may choose
  418. X
  419. X--- 510,519 -----
  420. X  .B dial
  421. X  command.
  422. X  
  423. X+ While a long entry in a field may be truncated on the display,
  424. X+ when the entry is edited, it's full contents will be dispalyed on the
  425. X+ edit subform.
  426. X+ 
  427. X  Entering or editing a dialing directory entry is for the most part
  428. X  straightforward.  A note on the use of the "tty" field is useful, however.
  429. X  When prompted for a tty, you may choose
  430. X***************
  431. X*** 518,524
  432. X  .LI
  433. X  a tty line matching a Devices type
  434. X  .LI
  435. X! a specific tty line (enter the tty name minus the "/dev/tty" portion)
  436. X  .LE
  437. X  
  438. X  "Any" matches any tty line in the /usr/lib/Devices file supporting
  439. X
  440. X--- 523,529 -----
  441. X  .LI
  442. X  a tty line matching a Devices type
  443. X  .LI
  444. X! a specific tty line
  445. X  .LE
  446. X  
  447. X  A specific line is specified by using the base name of the tty
  448. X***************
  449. X*** 520,525
  450. X  .LI
  451. X  a specific tty line (enter the tty name minus the "/dev/tty" portion)
  452. X  .LE
  453. X  
  454. X  "Any" matches any tty line in the /usr/lib/Devices file supporting
  455. X  the specified baud rate and whose Devices type begins with the
  456. X
  457. X--- 525,535 -----
  458. X  .LI
  459. X  a specific tty line
  460. X  .LE
  461. X+ 
  462. X+ A specific line is specified by using the base name of the tty
  463. X+ (e.g., "tty1a" or "acu0").  On SCO, since ttys are all named
  464. X+ consistently according to the "/dev/ttyxx" form, you may omit the "tty"
  465. X+ (e.g., "1a" or "4g").
  466. X  
  467. X  "Any" matches any tty line in the /usr/lib/Devices file supporting
  468. X  the specified baud rate and whose Devices type begins with the
  469. X*** /u1/src/ecu310/doc/_startup.txt    Tue May 28 12:53:00 1991
  470. X--- doc/_startup.txt    Sun Aug 11 20:06:06 1991
  471. X***************
  472. X*** 123,129
  473. X  represents an actual telephone number to be passed to a modem
  474. X  dialer program or Dialers chat script.  The string may contain
  475. X  non-numeric characters if appropriate for a dialer program,
  476. X! such as dialTBIT.  For example:
  477. X  .DS L
  478. X      ecu -l/dev/tty2a -b 19200 -e 5551212UC
  479. X  .DE
  480. X
  481. X--- 123,130 -----
  482. X  represents an actual telephone number to be passed to a modem
  483. X  dialer program or Dialers chat script.  The string may contain
  484. X  non-numeric characters if appropriate for a dialer program,
  485. X! such as dialTBIT or dialgT2500 (see the gendial subdirectory).
  486. X! For example:
  487. X  .DS L
  488. X      ecu -ltty2a -b 19200 -e 5551212UC
  489. X  .DE
  490. X***************
  491. X*** 125,131
  492. X  non-numeric characters if appropriate for a dialer program,
  493. X  such as dialTBIT.  For example:
  494. X  .DS L
  495. X!     ecu -l/dev/tty2a -b 19200 -e 5551212UC
  496. X  .DE
  497. X  uses tty2a (assumed to be connected to a Trailblazer modem) and
  498. X  establishes a 19200 baud, even parity PEP Compressed connection
  499. X
  500. X--- 126,132 -----
  501. X  such as dialTBIT or dialgT2500 (see the gendial subdirectory).
  502. X  For example:
  503. X  .DS L
  504. X!     ecu -ltty2a -b 19200 -e 5551212UC
  505. X  .DE
  506. X  uses tty2a (assumed to be connected to a Trailblazer modem) and
  507. X  establishes a 19200 baud, even parity PEP Compressed connection
  508. X***************
  509. X*** 159,166
  510. X  When ECU starts up, it normally chooses a line as described later
  511. X  in the section titled "Choosing a Dialout Line".
  512. X  Specifying the -l switch can suggest that the program
  513. X! choose a specific line.  The argument to the switch is the
  514. X! last two charcters of the ttyname; e.g., "-l1a".
  515. X  
  516. X  On a system with HoneyDanBerr UUCP,
  517. X  to access a device which does not appear in the Devices file,
  518. X
  519. X--- 160,171 -----
  520. X  When ECU starts up, it normally chooses a line as described later
  521. X  in the section titled "Choosing a Dialout Line".
  522. X  Specifying the -l switch can suggest that the program
  523. X! choose a specific line.  
  524. X! 
  525. X! The argument to the switch is the base name
  526. X! of the tty (e.g., "tty1a" or "acu0").  On SCO, since ttys are all
  527. X! named consistently according to the "/dev/ttyxx" form, you may
  528. X! omit the "tty" (e.g., "1a" or "4g").
  529. X  
  530. X  On a system with HoneyDanBerr UUCP,
  531. X  to access a device which does not appear in the Devices file,
  532. X*** /u1/src/ecu310/doc/_top.txt    Fri Jul 12 14:22:00 1991
  533. X--- doc/_top.txt    Sun Aug 11 20:38:56 1991
  534. X***************
  535. X*** 11,17
  536. X  .sp 2i
  537. X  .ft B
  538. X  .ce 10
  539. X! ECU 3.10
  540. X  
  541. X  (Extended Call Utility)
  542. X  .ce 0
  543. X
  544. X--- 11,17 -----
  545. X  .sp 2i
  546. X  .ft B
  547. X  .ce 10
  548. X! ECU 3.11
  549. X  
  550. X  (Extended Call Utility)
  551. X  .ce 0
  552. X*** /u1/src/ecu310/ecu.c    Thu Jul 25 12:55:00 1991
  553. X--- ecu.c    Sun Aug 11 20:07:52 1991
  554. X***************
  555. X*** 8,13
  556. X  
  557. X  ------------------------------------------------------------------------*/
  558. X  /*+:EDITS:*/
  559. X  /*:07-25-1991-12:55-wht@n4hgf-ECU release 3.10 */
  560. X  /*:07-17-1991-07:04-wht@n4hgf-avoid SCO UNIX nap bug */
  561. X  /*:04-27-1991-01:52-wht@n4hgf-overhaul revision numbers */
  562. X
  563. X--- 8,16 -----
  564. X  
  565. X  ------------------------------------------------------------------------*/
  566. X  /*+:EDITS:*/
  567. X+ /*:08-11-1991-19:56-wht@n4hgf-soup up -l for ISC vs. SCO */
  568. X+ /*:08-06-1991-13:02-wht@n4hgf-jpm@logixwi fix: HZ getenv test wrong sense */
  569. X+ /*:07-29-1991-17:57-wht@n4hgf-add memstat */
  570. X  /*:07-25-1991-12:55-wht@n4hgf-ECU release 3.10 */
  571. X  /*:07-17-1991-07:04-wht@n4hgf-avoid SCO UNIX nap bug */
  572. X  /*:04-27-1991-01:52-wht@n4hgf-overhaul revision numbers */
  573. X***************
  574. X*** 56,61
  575. X  char errmsg[128];
  576. X  char modem_ctl_fname[128];
  577. X  char initial_procedure[128] = "";
  578. X  int init_proc_argc = 0;
  579. X  char *init_proc_argv[MAX_PARGV];
  580. X  int quiet = 0;            /* don't shut up is default */
  581. X
  582. X--- 59,65 -----
  583. X  char errmsg[128];
  584. X  char modem_ctl_fname[128];
  585. X  char initial_procedure[128] = "";
  586. X+ char *default_tty = DEFAULT_TTY;    /* configurable default tty name */
  587. X  int init_proc_argc = 0;
  588. X  char *init_proc_argv[MAX_PARGV];
  589. X  int quiet = 0;            /* don't shut up is default */
  590. X***************
  591. X*** 67,72
  592. X  int hz;                    /* HZ from environ or sys/param.h */
  593. X  ulong hzmsec;            /* clock period in msec rounded up */
  594. X  struct timeb starting_timeb;
  595. X  
  596. X  char *_rc = "_rc";    /* _rc.ep */
  597. X  
  598. X
  599. X--- 71,80 -----
  600. X  int hz;                    /* HZ from environ or sys/param.h */
  601. X  ulong hzmsec;            /* clock period in msec rounded up */
  602. X  struct timeb starting_timeb;
  603. X+ #ifdef WHT
  604. X+ char *sbrk();
  605. X+ char *startbrk;
  606. X+ #endif
  607. X  
  608. X  char *_rc = "_rc";    /* _rc.ep */
  609. X  
  610. X***************
  611. X*** 142,147
  612. X      (void)mallopt(M_MXFAST,256+4);
  613. X      (void)mallopt(M_NLBLKS,64);
  614. X      (void)mallopt(M_GRAIN,sizeof(ESD) + 8);
  615. X  #endif
  616. X  
  617. X      setbuf(stderr,NULL);
  618. X
  619. X--- 150,158 -----
  620. X      (void)mallopt(M_MXFAST,256+4);
  621. X      (void)mallopt(M_NLBLKS,64);
  622. X      (void)mallopt(M_GRAIN,sizeof(ESD) + 8);
  623. X+ #ifdef WHT
  624. X+     startbrk = sbrk(0);
  625. X+ #endif /* WHT */
  626. X  #endif
  627. X  
  628. X      setbuf(stderr,NULL);
  629. X***************
  630. X*** 171,177
  631. X  /*
  632. X   * learn tick rate for various timers
  633. X   */
  634. X!     if(!getenv("HZ"))
  635. X          hz = atoi(getenv("HZ"));
  636. X      else
  637. X          hz = HZ;
  638. X
  639. X--- 182,188 -----
  640. X  /*
  641. X   * learn tick rate for various timers
  642. X   */
  643. X!     if(getenv("HZ"))
  644. X          hz = atoi(getenv("HZ"));
  645. X      else
  646. X          hz = HZ;
  647. X***************
  648. X*** 261,270
  649. X                  strcpy(modem_ctl_fname,optarg);
  650. X                  break;
  651. X              case 'l':
  652. X!                 shm->Lline[0] = 0;
  653. X!                 if(strncmp(optarg,"/dev/tty",8))
  654. X!                     strcpy(shm->Lline,"/dev/tty");
  655. X!                 strcat(shm->Lline,optarg);
  656. X                  break;
  657. X              case 'p':
  658. X                  strcpy(initial_procedure,optarg);
  659. X
  660. X--- 272,289 -----
  661. X                  strcpy(modem_ctl_fname,optarg);
  662. X                  break;
  663. X              case 'l':
  664. X!                 strcpy(shm->Lline,"/dev/");
  665. X! #if defined(M_SYSV)
  666. X!             if(strncmp(optarg,"tty",4))
  667. X!                 strcat(shm->Lline,"tty");
  668. X!             strcat(shm->Lline,optarg);
  669. X! #else
  670. X! #if defined(ISC)
  671. X!             strcat(shm->Lline,optarg);
  672. X! #else
  673. X! #    include "need.porting.attention.here"
  674. X! #endif /* ISC */
  675. X! #endif /* M_SYSV */
  676. X                  break;
  677. X              case 'p':
  678. X                  strcpy(initial_procedure,optarg);
  679. X***************
  680. X*** 312,318
  681. X      if(!shm->Lline[0])
  682. X      {
  683. X          if(!there_is_hdb_on_this_machine)
  684. X!             strcpy(shm->Lline,"/dev/tty1a");
  685. X          else
  686. X          {
  687. X              choose_line(shm->Lbaud);
  688. X
  689. X--- 331,337 -----
  690. X      if(!shm->Lline[0])
  691. X      {
  692. X          if(!there_is_hdb_on_this_machine)
  693. X!             strcpy(shm->Lline,default_tty);
  694. X          else
  695. X          {
  696. X              choose_line(shm->Lbaud);
  697. X***************
  698. X*** 323,329
  699. X                  ff(se,"[no available Devices line at %u baud]",shm->Lbaud);
  700. X                  tcap_stand_end();
  701. X                  ff(se,"\r\n");
  702. X!                 strcpy(shm->Lline,"/dev/tty1a");
  703. X                  nap(1000L);
  704. X              }
  705. X          }
  706. X
  707. X--- 342,348 -----
  708. X                  ff(se,"[no available Devices line at %u baud]",shm->Lbaud);
  709. X                  tcap_stand_end();
  710. X                  ff(se,"\r\n");
  711. X!                 strcpy(shm->Lline,default_tty);
  712. X                  nap(1000L);
  713. X              }
  714. X          }
  715. X*** /u1/src/ecu310/ecu.h    Thu Jul 25 12:55:00 1991
  716. X--- ecu.h    Mon Aug 12 03:59:55 1991
  717. X***************
  718. X*** 3,8
  719. X      wht@n4hgf.Mt-Park.GA.US
  720. X  ------------------------------------------------------------------------*/
  721. X  /*+:EDITS:*/
  722. X  /*:07-25-1991-12:55-wht@n4hgf-ECU release 3.10 */
  723. X  /*:01-25-1991-06:08-wht@n4hgf-mulltiple #define of ECULIBDIR */
  724. X  /*:01-22-1991-14:33-wht@n4hgf-XENIX calloc/memmove fix */
  725. X
  726. X--- 3,9 -----
  727. X      wht@n4hgf.Mt-Park.GA.US
  728. X  ------------------------------------------------------------------------*/
  729. X  /*+:EDITS:*/
  730. X+ /*:08-09-1991-11:07-wht@n4hgf-configurable lock directory */
  731. X  /*:07-25-1991-12:55-wht@n4hgf-ECU release 3.10 */
  732. X  /*:01-25-1991-06:08-wht@n4hgf-mulltiple #define of ECULIBDIR */
  733. X  /*:01-22-1991-14:33-wht@n4hgf-XENIX calloc/memmove fix */
  734. X***************
  735. X*** 54,59
  736. X  #endif
  737. X  #endif
  738. X  
  739. X  #define AUTO_DIAL_PROC    /* always on from now on */
  740. X  
  741. X  #if defined(WHT)
  742. X
  743. X--- 55,64 -----
  744. X  #endif
  745. X  #endif
  746. X  
  747. X+ #if defined(M_SYSV) && !defined(SCO_TTY_NAMING)
  748. X+ #define SCO_TTY_NAMING
  749. X+ #endif
  750. X+ 
  751. X  #define AUTO_DIAL_PROC    /* always on from now on */
  752. X  
  753. X  #if defined(WHT)
  754. X***************
  755. X*** 146,151
  756. X  #define LOPEN_ENABLED_IN_USE    -8        /* line in use by incoming login */
  757. X  #define LOPEN_DIALOUT_IN_USE    -9        /* line in use by another dial out */
  758. X  #define LOPEN_NOPTY                -10        /* pty not supported */
  759. X  
  760. X  /*
  761. X   * current directory array size
  762. X
  763. X--- 151,159 -----
  764. X  #define LOPEN_ENABLED_IN_USE    -8        /* line in use by incoming login */
  765. X  #define LOPEN_DIALOUT_IN_USE    -9        /* line in use by another dial out */
  766. X  #define LOPEN_NOPTY                -10        /* pty not supported */
  767. X+ #define LOPEN_WE_GOT_IT            -11        /* not rerally an error: we already
  768. X+                                          * own the line (used by check_utmp())
  769. X+                                          */
  770. X  
  771. X  /*
  772. X   * current directory array size
  773. X***************
  774. X*** 156,161
  775. X  extern char *sys_errlist[];
  776. X  extern int sys_nerr;
  777. X  
  778. X  extern int hz;                /* HZ from environ or sys/param.h */
  779. X  extern ulong hzmsec;        /* clock period in msec rounded up */
  780. X  
  781. X
  782. X--- 164,175 -----
  783. X  extern char *sys_errlist[];
  784. X  extern int sys_nerr;
  785. X  
  786. X+ /*
  787. X+  * process IDs
  788. X+  */
  789. X+ extern int rcvr_pid;
  790. X+ extern int xmtr_pid;
  791. X+ 
  792. X  extern int hz;                /* HZ from environ or sys/param.h */
  793. X  extern ulong hzmsec;        /* clock period in msec rounded up */
  794. X  
  795. X***************
  796. X*** 174,179
  797. X  extern uchar Ldial_debug_level;
  798. X  extern uchar Lmodem_sreg[];
  799. X  #endif
  800. X  
  801. X  /*
  802. X   * setcolor variables - see setcolor()
  803. X
  804. X--- 188,217 -----
  805. X  extern uchar Ldial_debug_level;
  806. X  extern uchar Lmodem_sreg[];
  807. X  #endif
  808. X+ 
  809. X+ /*
  810. X+  * lock file directory
  811. X+  */
  812. X+ #if defined(M_SYSV)    /* SCO */
  813. X+ #define LOCK_DIR_NAME "/usr/spool/uucp"
  814. X+ #endif
  815. X+ #if defined(ISC)
  816. X+ #define LOCK_DIR_NAME "/usr/spool/locks"
  817. X+ #endif
  818. X+ extern char *lock_dir_name;    /* defined in ecuLCK.c */
  819. X+ 
  820. X+ /*
  821. X+  * default tty name
  822. X+  */
  823. X+ #if !defined(DEFAULT_TTY)
  824. X+ #if defined(M_SYSV)    /* SCO */
  825. X+ #define DEFAULT_TTY "/dev/tty1a"
  826. X+ #endif
  827. X+ #if defined(ISC)
  828. X+ #define DEFAULT_TTY "/dev/acu00"
  829. X+ #endif
  830. X+ #endif /*!defined(DEFAULT_TTY)
  831. X+ extern char *lock_dir_name;    /* defined in ecu.c */
  832. X  
  833. X  /*
  834. X   * setcolor variables - see setcolor()
  835. X*** /u1/src/ecu310/ecuLCK.c    Thu Jul 25 12:55:00 1991
  836. X--- ecuLCK.c    Sun Aug 11 18:08:31 1991
  837. X***************
  838. X*** 16,21
  839. X  check for both.
  840. X  ------------------------------------------------------------------------*/
  841. X  /*+:EDITS:*/
  842. X  /*:07-25-1991-12:55-wht@n4hgf-ECU release 3.10 */
  843. X  /*:11-19-1990-01:05-wht@n4hgf-remove lock in is_active_lock if we locked */
  844. X  /*:10-16-1990-20:43-wht@n4hgf-add SHARE_DEBUG */
  845. X
  846. X--- 16,24 -----
  847. X  check for both.
  848. X  ------------------------------------------------------------------------*/
  849. X  /*+:EDITS:*/
  850. X+ /*:08-11-1991-18:06-wht@n4hgf-SCO_TTY_NAMING considerations */
  851. X+ /*:08-09-1991-11:07-wht@n4hgf-configurable lock directory */
  852. X+ /*:08-07-1991-14:41-wht@n4hgf-race with ecuungetty over lock resolved */
  853. X  /*:07-25-1991-12:55-wht@n4hgf-ECU release 3.10 */
  854. X  /*:11-19-1990-01:05-wht@n4hgf-remove lock in is_active_lock if we locked */
  855. X  /*:10-16-1990-20:43-wht@n4hgf-add SHARE_DEBUG */
  856. X***************
  857. X*** 28,33
  858. X  extern int errno;
  859. X  extern char ungetty_ttyname[];
  860. X  
  861. X  /*+-------------------------------------------------------------------------
  862. X      make_lock_name(ttyname,lock_file_name)
  863. X  --------------------------------------------------------------------------*/
  864. X
  865. X--- 31,38 -----
  866. X  extern int errno;
  867. X  extern char ungetty_ttyname[];
  868. X  
  869. X+ char *lock_dir_name = LOCK_DIR_NAME; /* location of LCK.. files */
  870. X+ 
  871. X  /*+-------------------------------------------------------------------------
  872. X      make_lock_name(ttyname,lock_file_name)
  873. X  --------------------------------------------------------------------------*/
  874. X***************
  875. X*** 39,45
  876. X      if((ulindex(ttyname,"/dev/tty")) != 0)
  877. X          return(LOPEN_INVALID);
  878. X  
  879. X!     strcpy(lock_file_name,"/usr/spool/uucp/LCK..");
  880. X      strcat(lock_file_name,ttyname + 5);
  881. X      return(0);
  882. X  
  883. X
  884. X--- 44,51 -----
  885. X      if((ulindex(ttyname,"/dev/tty")) != 0)
  886. X          return(LOPEN_INVALID);
  887. X  
  888. X!     strcpy(lock_file_name,lock_dir_name);
  889. X!     strcat(lock_file_name,"/LCK..");
  890. X      strcat(lock_file_name,ttyname + 5);
  891. X      return(0);
  892. X  
  893. X***************
  894. X*** 85,91
  895. X   * during certain error recovery conditions,
  896. X   * we could get hurt by our own lock file
  897. X   */
  898. X!     if(lockpid == getpid())        /* if we are the locker, kill it */
  899. X          goto UNLINK_OLD_LOCK;
  900. X  
  901. X      if((!(itmp = kill(lockpid,0))) || (errno != ESRCH))
  902. X
  903. X--- 91,99 -----
  904. X   * during certain error recovery conditions,
  905. X   * we could get hurt by our own lock file
  906. X   */
  907. X! #ifdef notdef
  908. X!     /* if we are the locker, kill it */
  909. X!     if(lockpid == xmtr_pid)
  910. X          goto UNLINK_OLD_LOCK;
  911. X      /* if we are ecuungetty and parent locked the line, leave it alone */
  912. X      if(lockpid == getppid())
  913. X***************
  914. X*** 87,92
  915. X   */
  916. X      if(lockpid == getpid())        /* if we are the locker, kill it */
  917. X          goto UNLINK_OLD_LOCK;
  918. X  
  919. X      if((!(itmp = kill(lockpid,0))) || (errno != ESRCH))
  920. X      {
  921. X
  922. X--- 95,110 -----
  923. X      /* if we are the locker, kill it */
  924. X      if(lockpid == xmtr_pid)
  925. X          goto UNLINK_OLD_LOCK;
  926. X+     /* if we are ecuungetty and parent locked the line, leave it alone */
  927. X+     if(lockpid == getppid())
  928. X+         goto RETURN_STATUS;
  929. X+ #endif
  930. X+     /* if we are the locker, return no error */
  931. X+     if(lockpid == xmtr_pid)
  932. X+     {
  933. X+         status = LOPEN_WE_GOT_IT;
  934. X+         goto RETURN_STATUS;
  935. X+     }
  936. X  
  937. X      if((!(itmp = kill(lockpid,0))) || (errno != ESRCH))
  938. X      {
  939. X***************
  940. X*** 131,137
  941. X      if(itmp = is_active_lock(lock_file_name))
  942. X          return(itmp);
  943. X  
  944. X! #if defined(M_XENIX) || defined(M_UNIX)
  945. X      if(isalpha(lock_file_name[itmp = strlen(lock_file_name) - 1]))
  946. X      {
  947. X          lock_file_name[itmp] ^= 0x20;    /* lower->upper, upper->lower */
  948. X
  949. X--- 149,155 -----
  950. X      if(itmp = is_active_lock(lock_file_name))
  951. X          return(itmp);
  952. X  
  953. X! #if (defined(M_XENIX) || defined(M_UNIX)) && defined(SCO_TTY_NAMING)
  954. X      if(isalpha(lock_file_name[itmp = strlen(lock_file_name) - 1]))
  955. X      {
  956. X          lock_file_name[itmp] ^= 0x20;    /* lower->upper, upper->lower */
  957. X*** /u1/src/ecu310/ecucmd.h    Thu Jul 25 12:55:00 1991
  958. X--- ecucmd.h    Sat Aug 10 18:17:03 1991
  959. X***************
  960. X*** 3,8
  961. X      wht@n4hgf.Mt-Park.GA.US
  962. X  --------------------------------------------------------------------------*/
  963. X  /*+:EDITS:*/
  964. X  /*:07-25-1991-12:55-wht@n4hgf-ECU release 3.10 */
  965. X  /*:07-04-1991-20:07-wht@n4hgf-add procedure rlog cmd */
  966. X  /*:05-21-1991-18:07-wht@n4hgf-add pushd/popd commands */
  967. X
  968. X--- 3,9 -----
  969. X      wht@n4hgf.Mt-Park.GA.US
  970. X  --------------------------------------------------------------------------*/
  971. X  /*+:EDITS:*/
  972. X+ /*:07-29-1991-17:57-wht@n4hgf-add memstat */
  973. X  /*:07-25-1991-12:55-wht@n4hgf-ECU release 3.10 */
  974. X  /*:07-04-1991-20:07-wht@n4hgf-add procedure rlog cmd */
  975. X  /*:05-21-1991-18:07-wht@n4hgf-add pushd/popd commands */
  976. X***************
  977. X*** 71,76
  978. X  #define CTeto           58
  979. X  #define CTpushd         59
  980. X  #define CTpopd          60
  981. X  
  982. X  #define CTdummy1       120
  983. X  #define CTdummy2       121
  984. X
  985. X--- 72,78 -----
  986. X  #define CTeto           58
  987. X  #define CTpushd         59
  988. X  #define CTpopd          60
  989. X+ #define CTmemstat       61
  990. X  
  991. X  #define CTdummy1       120
  992. X  #define CTdummy2       121
  993. X***************
  994. X*** 267,272
  995. X      { "log",    3,CTlog,    "session logging control",        0,         ccG },
  996. X      { "logevent",0,0,        "",                                pcmd_logevent,0},
  997. X      { "lookfor",0,0,        "",                                pcmd_lookfor,0 },
  998. X  /*    { "mkdir",    3,CTmkdir,    "mkdir <dirname>",                pcmd_mkdir, ccG}, */
  999. X      { "mkvar",    0,0,        "",                                pcmd_mkvar, 0  },
  1000. X      { "nap",    0,0,        "",                                pcmd_nap,   0  },
  1001. X
  1002. X--- 269,277 -----
  1003. X      { "log",    3,CTlog,    "session logging control",        0,         ccG },
  1004. X      { "logevent",0,0,        "",                                pcmd_logevent,0},
  1005. X      { "lookfor",0,0,        "",                                pcmd_lookfor,0 },
  1006. X+ #if defined(WHT) && defined(MALLOC_3X)
  1007. X+     { "memstat",3,CTmemstat,"",                                0,          0  },
  1008. X+ #endif
  1009. X  /*    { "mkdir",    3,CTmkdir,    "mkdir <dirname>",                pcmd_mkdir, ccG}, */
  1010. X      { "mkvar",    0,0,        "",                                pcmd_mkvar, 0  },
  1011. X      { "nap",    0,0,        "",                                pcmd_nap,   0  },
  1012. X*** /u1/src/ecu310/ecuicmaux.c    Thu Jul 25 12:56:00 1991
  1013. X--- ecuicmaux.c    Tue Aug  6 15:05:36 1991
  1014. X***************
  1015. X*** 264,270
  1016. X  }    /* end of rcvr_log_control */
  1017. X  
  1018. X  /*+-------------------------------------------------------------------------
  1019. X!     pcmd_rlog(param) - control receivert logging (script)
  1020. X  
  1021. X  rlog [-srf] ['filename']  #  see ecuidmc.d
  1022. X  rlog 'off'
  1023. X
  1024. X--- 264,270 -----
  1025. X  }    /* end of rcvr_log_control */
  1026. X  
  1027. X  /*+-------------------------------------------------------------------------
  1028. X!     pcmd_rlog(param) - control receiver logging (script)
  1029. X  
  1030. X  rlog [-srf] ['filename']  #  see ecuidmc.d
  1031. X  rlog 'off'
  1032. X*** /u1/src/ecu310/ecuicmd.c    Thu Jul 25 12:56:00 1991
  1033. X--- ecuicmd.c    Sat Aug 10 18:16:50 1991
  1034. X***************
  1035. X*** 9,14
  1036. X  
  1037. X  ------------------------------------------------------------------------*/
  1038. X  /*+:EDITS:*/
  1039. X  /*:07-25-1991-12:56-wht@n4hgf-ECU release 3.10 */
  1040. X  /*:05-21-1991-18:22-wht@n4hgf-add pushd/popd commands */
  1041. X  /*:05-21-1991-00:46-wht@n4hgf-added -3 error code to keyset_read */
  1042. X
  1043. X--- 9,16 -----
  1044. X  
  1045. X  ------------------------------------------------------------------------*/
  1046. X  /*+:EDITS:*/
  1047. X+ /*:07-29-1991-20:56-wht@n4hgf-turn off memstat after frustrating evening */
  1048. X+ /*:07-29-1991-17:57-wht@n4hgf-add memstat */
  1049. X  /*:07-25-1991-12:56-wht@n4hgf-ECU release 3.10 */
  1050. X  /*:05-21-1991-18:22-wht@n4hgf-add pushd/popd commands */
  1051. X  /*:05-21-1991-00:46-wht@n4hgf-added -3 error code to keyset_read */
  1052. X***************
  1053. X*** 657,662
  1054. X              ff(se,"  made directory %s\r\n",arg[2]);
  1055. X          break;
  1056. X  */
  1057. X  
  1058. X          case 0:
  1059. X          ff(se,"   procedure command not allowed in interactive mode\r\n");
  1060. X
  1061. X--- 659,698 -----
  1062. X              ff(se,"  made directory %s\r\n",arg[2]);
  1063. X          break;
  1064. X  */
  1065. X+ 
  1066. X+         case CTmemstat:
  1067. X+ #if defined(WHT) && defined(MALLOC_3X)
  1068. X+     {
  1069. X+         struct mallinfo minfo;
  1070. X+         extern char *startbrk;
  1071. X+         char *sbrk();
  1072. X+ #define DEBUG_SURETY
  1073. X+ #ifdef DEBUG_SURETY    /* malloc has been called a zillion times, but ... */
  1074. X+         char *cptr = malloc(100);
  1075. X+         free(cptr);
  1076. X+         pprintf("we got %08lx\n",cptr);
  1077. X+ #endif
  1078. X+         minfo = mallinfo();
  1079. X+         pputs("\n"); /* all this casting for 16- vs 32- bit ints */
  1080. X+         pprintf("%10lu total space in arena\n",(ulong)minfo.arena);
  1081. X+         pprintf("%10lu number of ordinary blocks\n",(ulong)minfo.ordblks);
  1082. X+         pprintf("%10lu number of small blocks\n",(ulong)minfo.smblks);
  1083. X+         pprintf("%10lu number of holding blocks\n",(ulong)minfo.hblks);
  1084. X+         pprintf("%10lu space in holding block headers\n",(ulong)minfo.hblkhd);
  1085. X+         pprintf("%10lu space in small blocks in use\n",(ulong)minfo.usmblks);
  1086. X+         pprintf("%10lu space in free small blocks\n",(ulong)minfo.fsmblks);
  1087. X+         pprintf("%10lu space in ordinary blocks in use\n",
  1088. X+             (ulong)minfo.uordblks);
  1089. X+         pprintf("%10lu space in free ordinary blocks\n",(ulong)minfo.fordblks);
  1090. X+         pprintf("%10lu cost of enabling keep option\n",(ulong)minfo.keepcost);
  1091. X+         pprintf("%08lx   startbrk\n",startbrk);
  1092. X+         pprintf("%08lx   sbrk(0)\n",sbrk(0));
  1093. X+         pprintf("%10lu break delta\n",sbrk(0) - startbrk);
  1094. X+     }
  1095. X+ #else
  1096. X+         ff(se,"  not available\r\n");
  1097. X+ #endif /* WHT */
  1098. X+         break;
  1099. X  
  1100. X          case 0:
  1101. X          ff(se,"   procedure command not allowed in interactive mode\r\n");
  1102. X*** /u1/src/ecu310/ecuicmhelp.c    Thu Jul 25 12:56:00 1991
  1103. X--- ecuicmhelp.c    Tue Aug  6 15:05:36 1991
  1104. X***************
  1105. X*** 14,19
  1106. X  
  1107. X  --------------------------------------------------------------------------*/
  1108. X  /*+:EDITS:*/
  1109. X  /*:07-25-1991-12:56-wht@n4hgf-ECU release 3.10 */
  1110. X  /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
  1111. X  
  1112. X
  1113. X--- 14,20 -----
  1114. X  
  1115. X  --------------------------------------------------------------------------*/
  1116. X  /*+:EDITS:*/
  1117. X+ /*:08-01-1991-03:52-wht@n4hgf-when editing string, set cursor to end */
  1118. X  /*:07-25-1991-12:56-wht@n4hgf-ECU release 3.10 */
  1119. X  /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
  1120. X  
  1121. X***************
  1122. X*** 163,169
  1123. X  register x;
  1124. X  static char cmd[15];
  1125. X  char delim = 0;
  1126. X! int strpos = 0;
  1127. X  int edit = 0;
  1128. X  
  1129. X      help_cmd_line_setup("Enter command name (ESC to quit):  ");
  1130. X
  1131. X--- 164,170 -----
  1132. X  register x;
  1133. X  static char cmd[15];
  1134. X  char delim = 0;
  1135. X! int wgpos = -1;
  1136. X  int edit = 0;
  1137. X  
  1138. X      help_cmd_line_setup("Enter command name (ESC to quit):  ");
  1139. X***************
  1140. X*** 171,177
  1141. X      wstandout(stdscr);
  1142. X      while((delim != ESC) && (delim != NL))
  1143. X      {
  1144. X!         wingets(stdscr,y,x,cmd,sizeof(cmd) - 1,&delim,edit,&strpos);
  1145. X          edit = 1;
  1146. X      }
  1147. X      wstandend(stdscr);
  1148. X
  1149. X--- 172,178 -----
  1150. X      wstandout(stdscr);
  1151. X      while((delim != ESC) && (delim != NL))
  1152. X      {
  1153. X!         wingets(stdscr,y,x,cmd,sizeof(cmd) - 1,&delim,edit,&wgpos);
  1154. X          edit = 1;
  1155. X      }
  1156. X      wstandend(stdscr);
  1157. X*** /u1/src/ecu310/ecuicmhist.c    Thu Jul 25 12:56:00 1991
  1158. X--- ecuicmhist.c    Sun Aug 11 14:58:31 1991
  1159. X***************
  1160. X*** 8,13
  1161. X  
  1162. X  --------------------------------------------------------------------------*/
  1163. X  /*+:EDITS:*/
  1164. X  /*:07-25-1991-12:56-wht@n4hgf-ECU release 3.10 */
  1165. X  /*:07-14-1991-18:18-wht@n4hgf-new ttygets functions */
  1166. X  /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
  1167. X
  1168. X--- 8,14 -----
  1169. X  
  1170. X  --------------------------------------------------------------------------*/
  1171. X  /*+:EDITS:*/
  1172. X+ /*:08-11-1991-14:58-wht@n4hgf-new ttygets botched command history handler */
  1173. X  /*:07-25-1991-12:56-wht@n4hgf-ECU release 3.10 */
  1174. X  /*:07-14-1991-18:18-wht@n4hgf-new ttygets functions */
  1175. X  /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
  1176. X***************
  1177. X*** 128,133
  1178. X          switch(delim)
  1179. X          {
  1180. X              case ESC:
  1181. X                  return(0);
  1182. X  
  1183. X              case XFhome:
  1184. X
  1185. X--- 129,135 -----
  1186. X          switch(delim)
  1187. X          {
  1188. X              case ESC:
  1189. X+                 *newicmd = 0;
  1190. X                  return(0);
  1191. X  
  1192. X              case XFhome:
  1193. X***************
  1194. X*** 132,138
  1195. X  
  1196. X              case XFhome:
  1197. X                  icmdh = icmdh_head;
  1198. X-                 *newicmd = 0;
  1199. X                  break;
  1200. X  
  1201. X              case XFend:
  1202. X
  1203. X--- 134,139 -----
  1204. X  
  1205. X              case XFhome:
  1206. X                  icmdh = icmdh_head;
  1207. X                  break;
  1208. X  
  1209. X              case XFend:
  1210. X***************
  1211. X*** 137,143
  1212. X  
  1213. X              case XFend:
  1214. X                  icmdh = icmdh_tail;
  1215. X-                 *newicmd = 0;
  1216. X                  break;
  1217. X  
  1218. X              case XFpgup:
  1219. X
  1220. X--- 138,143 -----
  1221. X  
  1222. X              case XFend:
  1223. X                  icmdh = icmdh_tail;
  1224. X                  break;
  1225. X  
  1226. X              case XFpgup:
  1227. X***************
  1228. X*** 143,149
  1229. X              case XFpgup:
  1230. X              case XFpgdn:
  1231. X                  ring_bell();
  1232. X-                 *newicmd = 0;
  1233. X                  break;
  1234. X  
  1235. X              case XFcurup:
  1236. X
  1237. X--- 143,148 -----
  1238. X              case XFpgup:
  1239. X              case XFpgdn:
  1240. X                  ring_bell();
  1241. X                  break;
  1242. X  
  1243. X              case XFcurup:
  1244. X***************
  1245. X*** 149,155
  1246. X              case XFcurup:
  1247. X                  if(icmdh->prev)
  1248. X                      icmdh = icmdh->prev;
  1249. X-                 *newicmd = 0;
  1250. X                  break;
  1251. X  
  1252. X              case XFcurdn:
  1253. X
  1254. X--- 148,153 -----
  1255. X              case XFcurup:
  1256. X                  if(icmdh->prev)
  1257. X                      icmdh = icmdh->prev;
  1258. X                  break;
  1259. X  
  1260. X              case XFcurdn:
  1261. X***************
  1262. X*** 155,161
  1263. X              case XFcurdn:
  1264. X                  if(icmdh->next)
  1265. X                      icmdh = icmdh->next;
  1266. X-                 *newicmd = 0;
  1267. X                  break;
  1268. X  
  1269. X              default:
  1270. X
  1271. X--- 153,158 -----
  1272. X              case XFcurdn:
  1273. X                  if(icmdh->next)
  1274. X                      icmdh = icmdh->next;
  1275. X                  break;
  1276. X  
  1277. X              default:
  1278. X*** /u1/src/ecu310/eculine.c    Thu Jul 25 12:56:00 1991
  1279. X--- eculine.c    Mon Aug 12 02:41:29 1991
  1280. X***************
  1281. X*** 36,41
  1282. X  
  1283. X  ------------------------------------------------------------------------*/
  1284. X  /*+:EDITS:*/
  1285. X  /*:07-25-1991-12:56-wht@n4hgf-ECU release 3.10 */
  1286. X  /*:07-17-1991-07:04-wht@n4hgf-avoid SCO UNIX nap bug */
  1287. X  /*:04-09-1991-16:11-wht@n4hgf-use B0 in ltoggle_DTR */
  1288. X
  1289. X--- 36,44 -----
  1290. X  
  1291. X  ------------------------------------------------------------------------*/
  1292. X  /*+:EDITS:*/
  1293. X+ /*:08-11-1991-18:06-wht@n4hgf-SCO_TTY_NAMING considerations */
  1294. X+ /*:08-06-1991-14:18-wht@n4hgf-baud rates below 300 get two stop bits */
  1295. X+ /*:07-29-1991-01:55-wht@n4hgf-remove unused externs */
  1296. X  /*:07-25-1991-12:56-wht@n4hgf-ECU release 3.10 */
  1297. X  /*:07-17-1991-07:04-wht@n4hgf-avoid SCO UNIX nap bug */
  1298. X  /*:04-09-1991-16:11-wht@n4hgf-use B0 in ltoggle_DTR */
  1299. X***************
  1300. X*** 52,58
  1301. X  #include "termecu.h"
  1302. X  #include <setjmp.h>
  1303. X  
  1304. X- extern int rcvr_pid;
  1305. X  extern int errno;
  1306. X  extern int vmin;
  1307. X  extern int sigint;        /* SIGINT flag: see xmtr_SIGINT_handler */
  1308. X
  1309. X--- 55,60 -----
  1310. X  #include "termecu.h"
  1311. X  #include <setjmp.h>
  1312. X  
  1313. X  extern int errno;
  1314. X  extern int sigint;        /* SIGINT flag: see xmtr_SIGINT_handler */
  1315. X  
  1316. X***************
  1317. X*** 54,60
  1318. X  
  1319. X  extern int rcvr_pid;
  1320. X  extern int errno;
  1321. X- extern int vmin;
  1322. X  extern int sigint;        /* SIGINT flag: see xmtr_SIGINT_handler */
  1323. X  
  1324. X  int lgetc_count;
  1325. X
  1326. X--- 56,61 -----
  1327. X  #include <setjmp.h>
  1328. X  
  1329. X  extern int errno;
  1330. X  extern int sigint;        /* SIGINT flag: see xmtr_SIGINT_handler */
  1331. X  
  1332. X  int lgetc_count;
  1333. X***************
  1334. X*** 664,669
  1335. X      Ltermio.c_cflag &= ~CBAUD;
  1336. X      Ltermio.c_cflag |= baud_selector;
  1337. X  
  1338. X  #if defined(HO_HUM)
  1339. X      if(ioctl_flag)
  1340. X  #endif
  1341. X
  1342. X--- 665,675 -----
  1343. X      Ltermio.c_cflag &= ~CBAUD;
  1344. X      Ltermio.c_cflag |= baud_selector;
  1345. X  
  1346. X+     if(baud_selector < B300)
  1347. X+         Ltermio.c_cflag |= CSTOPB;
  1348. X+     else
  1349. X+         Ltermio.c_cflag &= ~CSTOPB;
  1350. X+ 
  1351. X  #if defined(HO_HUM)
  1352. X      if(ioctl_flag)
  1353. X  #endif
  1354. X***************
  1355. X*** 792,798
  1356. X  int
  1357. X  lopen()
  1358. X  {
  1359. X! register itmp = strlen(shm->Lline);
  1360. X  struct stat ttystat;
  1361. X  
  1362. X      lopen_err_str[0] = 0;
  1363. X
  1364. X--- 798,804 -----
  1365. X  int
  1366. X  lopen()
  1367. X  {
  1368. X! int itmp;
  1369. X  struct stat ttystat;
  1370. X  
  1371. X      lopen_err_str[0] = 0;
  1372. X***************
  1373. X*** 796,801
  1374. X  struct stat ttystat;
  1375. X  
  1376. X      lopen_err_str[0] = 0;
  1377. X      if(shm->Liofd >= 0)
  1378. X          return(LOPEN_ALREADY);
  1379. X      if(strncmp(shm->Lline,"/dev/tty",8))
  1380. X
  1381. X--- 802,811 -----
  1382. X  struct stat ttystat;
  1383. X  
  1384. X      lopen_err_str[0] = 0;
  1385. X+ 
  1386. X+     /*
  1387. X+      * system independent checks
  1388. X+      */
  1389. X      if(shm->Liofd >= 0)
  1390. X          return(LOPEN_ALREADY);
  1391. X      if(stat(shm->Lline,&ttystat) < 0)
  1392. X***************
  1393. X*** 798,803
  1394. X      lopen_err_str[0] = 0;
  1395. X      if(shm->Liofd >= 0)
  1396. X          return(LOPEN_ALREADY);
  1397. X      if(strncmp(shm->Lline,"/dev/tty",8))
  1398. X          return(LOPEN_INVALID);
  1399. X      if(!strcmp(shm->Lline,"/dev/tty"))
  1400. X
  1401. X--- 808,822 -----
  1402. X       */
  1403. X      if(shm->Liofd >= 0)
  1404. X          return(LOPEN_ALREADY);
  1405. X+     if(stat(shm->Lline,&ttystat) < 0)
  1406. X+         return(LOPEN_NODEV);
  1407. X+     if(ulindex(shm->Lline,"pty") > -1)
  1408. X+         return(LOPEN_NOPTY);
  1409. X+ 
  1410. X+     /*
  1411. X+      * SCO system dependent checks
  1412. X+      */
  1413. X+ #if defined(M_SYSV)
  1414. X      if(strncmp(shm->Lline,"/dev/tty",8))
  1415. X          return(LOPEN_INVALID);
  1416. X  #endif /* M_SYSV */
  1417. X***************
  1418. X*** 800,806
  1419. X          return(LOPEN_ALREADY);
  1420. X      if(strncmp(shm->Lline,"/dev/tty",8))
  1421. X          return(LOPEN_INVALID);
  1422. X!     if(!strcmp(shm->Lline,"/dev/tty"))
  1423. X          return(LOPEN_INVALID);
  1424. X      if(shm->Lline[8] == 'p')
  1425. X          return(LOPEN_NOPTY);
  1426. X
  1427. X--- 819,831 -----
  1428. X  #if defined(M_SYSV)
  1429. X      if(strncmp(shm->Lline,"/dev/tty",8))
  1430. X          return(LOPEN_INVALID);
  1431. X! #endif /* M_SYSV */
  1432. X! 
  1433. X!     /*
  1434. X!      * ISC system dependent checks
  1435. X!      */
  1436. X! #if defined(ISC)
  1437. X!     if(strncmp(shm->Lline,"/dev/tty",8) && strncmp(shm->Lline,"/dev/acu",8))
  1438. X          return(LOPEN_INVALID);
  1439. X  #endif
  1440. X  
  1441. X***************
  1442. X*** 802,811
  1443. X          return(LOPEN_INVALID);
  1444. X      if(!strcmp(shm->Lline,"/dev/tty"))
  1445. X          return(LOPEN_INVALID);
  1446. X!     if(shm->Lline[8] == 'p')
  1447. X!         return(LOPEN_NOPTY);
  1448. X!     if(isupper(shm->Lline[itmp - 1]))
  1449. X!         shm->Lline[itmp - 1] = tolower(shm->Lline[itmp - 1]);
  1450. X      if(itmp = lock_tty())        /* get lock file */
  1451. X          return(itmp);
  1452. X      if(stat(shm->Lline,&ttystat) < 0)
  1453. X
  1454. X--- 827,837 -----
  1455. X  #if defined(ISC)
  1456. X      if(strncmp(shm->Lline,"/dev/tty",8) && strncmp(shm->Lline,"/dev/acu",8))
  1457. X          return(LOPEN_INVALID);
  1458. X! #endif
  1459. X! 
  1460. X!     /*
  1461. X!      * lock the tty 
  1462. X!      */
  1463. X      if(itmp = lock_tty())        /* get lock file */
  1464. X          return(itmp);
  1465. X  
  1466. X***************
  1467. X*** 808,817
  1468. X          shm->Lline[itmp - 1] = tolower(shm->Lline[itmp - 1]);
  1469. X      if(itmp = lock_tty())        /* get lock file */
  1470. X          return(itmp);
  1471. X!     if(stat(shm->Lline,&ttystat) < 0)
  1472. X!         return(LOPEN_NODEV);
  1473. X!     shm->Liofd = open(shm->Lline,O_RDWR,0777);
  1474. X!     if(shm->Liofd < 0)
  1475. X      {
  1476. X          if(errno == EACCES)
  1477. X              sprintf(lopen_err_str,"open error - try chmod +rw %s",shm->Lline);
  1478. X
  1479. X--- 834,844 -----
  1480. X       */
  1481. X      if(itmp = lock_tty())        /* get lock file */
  1482. X          return(itmp);
  1483. X! 
  1484. X!     /*
  1485. X!      * lock the tty 
  1486. X!      */
  1487. X!     if((shm->Liofd = open(shm->Lline,O_RDWR | O_NDELAY,0777)) < 0)
  1488. X      {
  1489. X          if(errno == EACCES)
  1490. X              sprintf(lopen_err_str,"open error - try chmod +rw %s",shm->Lline);
  1491. X***************
  1492. X*** 815,820
  1493. X      {
  1494. X          if(errno == EACCES)
  1495. X              sprintf(lopen_err_str,"open error - try chmod +rw %s",shm->Lline);
  1496. X          return(LOPEN_OPNFAIL);
  1497. X      }
  1498. X      else
  1499. X
  1500. X--- 842,850 -----
  1501. X      {
  1502. X          if(errno == EACCES)
  1503. X              sprintf(lopen_err_str,"open error - try chmod +rw %s",shm->Lline);
  1504. X+         else
  1505. X+             sprintf(lopen_err_str,"open error - %s",sys_errlist[errno]);
  1506. X+         unlock_tty();
  1507. X          return(LOPEN_OPNFAIL);
  1508. X      }
  1509. X  
  1510. X***************
  1511. X*** 817,829
  1512. X              sprintf(lopen_err_str,"open error - try chmod +rw %s",shm->Lline);
  1513. X          return(LOPEN_OPNFAIL);
  1514. X      }
  1515. X-     else
  1516. X-     {
  1517. X-         ioctl(shm->Liofd,TCGETA,(char *) &Ltermio);
  1518. X-         Ltermio.c_iflag = (IGNPAR | IGNBRK | shm->Lxonxoff);
  1519. X-         Ltermio.c_oflag = 0;
  1520. X-         Ltermio.c_cflag |= (CLOCAL | CREAD | HUPCL);
  1521. X-         Ltermio.c_lflag = 0;
  1522. X  
  1523. X          Ltermio.c_cc[VMIN]   = 1;
  1524. X          Ltermio.c_cc[VTIME]  = 1;
  1525. X
  1526. X--- 847,852 -----
  1527. X          unlock_tty();
  1528. X          return(LOPEN_OPNFAIL);
  1529. X      }
  1530. X  
  1531. X  
  1532. X      /*
  1533. X***************
  1534. X*** 825,835
  1535. X          Ltermio.c_cflag |= (CLOCAL | CREAD | HUPCL);
  1536. X          Ltermio.c_lflag = 0;
  1537. X  
  1538. X!         Ltermio.c_cc[VMIN]   = 1;
  1539. X!         Ltermio.c_cc[VTIME]  = 1;
  1540. X!         lset_baud_rate(0);        /* do not perform ioctl */
  1541. X!         lset_parity(1);            /* do perform ioctl */
  1542. X!     }
  1543. X  
  1544. X      lopen_err_str[0] = 0;
  1545. X      return(0);
  1546. X
  1547. X--- 848,870 -----
  1548. X          return(LOPEN_OPNFAIL);
  1549. X      }
  1550. X  
  1551. X! 
  1552. X!     /*
  1553. X!      * turn off non-blocking I/O
  1554. X!      */
  1555. X!     fcntl(shm->Liofd,F_GETFL,&itmp);
  1556. X!     itmp &= ~O_NDELAY;
  1557. X!     fcntl(shm->Liofd,F_SETFL,itmp);
  1558. X! 
  1559. X!     ioctl(shm->Liofd,TCGETA,(char *) &Ltermio);
  1560. X!     Ltermio.c_iflag = (IGNPAR | IGNBRK | shm->Lxonxoff);
  1561. X!     Ltermio.c_oflag = 0;
  1562. X!     Ltermio.c_cflag |= (CLOCAL | CREAD | HUPCL);
  1563. X!     Ltermio.c_lflag = 0;
  1564. X!     Ltermio.c_cc[VMIN]   = 1;
  1565. X!     Ltermio.c_cc[VTIME]  = 1;
  1566. X!     lset_baud_rate(0);        /* do not perform ioctl */
  1567. X!     lset_parity(1);            /* do perform ioctl */
  1568. X  
  1569. X      lopen_err_str[0] = 0;
  1570. X      return(0);
  1571. X*** /u1/src/ecu310/ecunumrev.c    Thu Jul 25 14:08:00 1991
  1572. X--- ecunumrev.c    Mon Aug 12 02:25:36 1991
  1573. X***************
  1574. X*** 22,28
  1575. X  #endif
  1576. X  
  1577. X  #ifdef WHT
  1578. X! char *numeric_revision = "x3.45";
  1579. X  #else
  1580. X  char *numeric_revision = "3";    /* beta 1; at release this will be "3" */
  1581. X  #endif
  1582. X
  1583. X--- 22,28 -----
  1584. X  #endif
  1585. X  
  1586. X  #ifdef WHT
  1587. X! char *numeric_revision = "x3.54";
  1588. X  #else
  1589. X  char *numeric_revision = "3";
  1590. X  #endif
  1591. X***************
  1592. X*** 24,30
  1593. X  #ifdef WHT
  1594. X  char *numeric_revision = "x3.45";
  1595. X  #else
  1596. X! char *numeric_revision = "3";    /* beta 1; at release this will be "3" */
  1597. X  #endif
  1598. X  char *revstr = "";
  1599. X  
  1600. X
  1601. X--- 24,30 -----
  1602. X  #ifdef WHT
  1603. X  char *numeric_revision = "x3.54";
  1604. X  #else
  1605. X! char *numeric_revision = "3";
  1606. X  #endif
  1607. X  char *revstr = "";
  1608. X  
  1609. X*** /u1/src/ecu310/ecuphone.c    Thu Jul 25 12:56:00 1991
  1610. X--- ecuphone.c    Sun Aug 11 19:57:43 1991
  1611. X***************
  1612. X*** 71,76
  1613. X  
  1614. X  --------------------------------------------------------------------------*/
  1615. X  /*+:EDITS:*/
  1616. X  /*:07-25-1991-12:56-wht@n4hgf-ECU release 3.10 */
  1617. X  /*:07-17-1991-07:04-wht@n4hgf-avoid SCO UNIX nap bug */
  1618. X  /*:07-12-1991-15:37-wht@n4hgf-fix core dump when creating phone from setup */
  1619. X
  1620. X--- 71,79 -----
  1621. X  
  1622. X  --------------------------------------------------------------------------*/
  1623. X  /*+:EDITS:*/
  1624. X+ /*:08-11-1991-19:56-wht@n4hgf-soup up tty name for ISC vs. SCO */
  1625. X+ /*:08-07-1991-13:48-root@n4hgf-w subcommand was not asking both questions */
  1626. X+ /*:08-01-1991-03:52-wht@n4hgf-when editing string, set cursor to end */
  1627. X  /*:07-25-1991-12:56-wht@n4hgf-ECU release 3.10 */
  1628. X  /*:07-17-1991-07:04-wht@n4hgf-avoid SCO UNIX nap bug */
  1629. X  /*:07-12-1991-15:37-wht@n4hgf-fix core dump when creating phone from setup */
  1630. X***************
  1631. X*** 1113,1119
  1632. X  int bufmax;
  1633. X  uchar *delim;
  1634. X  {
  1635. X! int strpos = 0;
  1636. X  char s80[80];
  1637. X  
  1638. X      wmove(addw,9,2);
  1639. X
  1640. X--- 1116,1122 -----
  1641. X  int bufmax;
  1642. X  uchar *delim;
  1643. X  {
  1644. X! int wgpos = -1;
  1645. X  char s80[80];
  1646. X  
  1647. X      wmove(addw,9,2);
  1648. X***************
  1649. X*** 1125,1131
  1650. X          if(edit)
  1651. X              strcpy(s80,buf);
  1652. X  AGAIN:
  1653. X!         (void)wingets(addw,y,20,s80,bufmax,delim,edit,&strpos);
  1654. X          wstandend(addw);
  1655. X          clear_area(addw,y,20,bufmax);
  1656. X          edit = 1;        /* if we come back to AGAIN, edit string */
  1657. X
  1658. X--- 1128,1134 -----
  1659. X          if(edit)
  1660. X              strcpy(s80,buf);
  1661. X  AGAIN:
  1662. X!         (void)wingets(addw,y,20,s80,bufmax,delim,edit,&wgpos);
  1663. X          wstandend(addw);
  1664. X          clear_area(addw,y,20,bufmax);
  1665. X          edit = 1;        /* if we come back to AGAIN, edit string */
  1666. X***************
  1667. X*** 1180,1186
  1668. X  int aborted = 0;
  1669. X  int itmp;
  1670. X  int wgedit = 0;
  1671. X! int wgpos = 0;
  1672. X  char s64[64];
  1673. X  uchar delim = 0;
  1674. X  int y,x;
  1675. X
  1676. X--- 1183,1189 -----
  1677. X  int aborted = 0;
  1678. X  int itmp;
  1679. X  int wgedit = 0;
  1680. X! int wgpos = -1;
  1681. X  char s64[64];
  1682. X  uchar delim = 0;
  1683. X  int y,x;
  1684. X***************
  1685. X*** 1601,1607
  1686. X  uchar delim = 0;
  1687. X  int y,x;
  1688. X  int wgedit = 0;
  1689. X! int wgpos = 0;
  1690. X  
  1691. X      dirw_bot_msg("ESC: abort  ^U: erase input");
  1692. X      dirw_cmd_line_setup("","Directory entry name to find: ");
  1693. X
  1694. X--- 1604,1610 -----
  1695. X  uchar delim = 0;
  1696. X  int y,x;
  1697. X  int wgedit = 0;
  1698. X! int wgpos = -1;
  1699. X  
  1700. X      dirw_bot_msg("ESC: abort  ^U: erase input");
  1701. X      dirw_cmd_line_setup("","Directory entry name to find: ");
  1702. X***************
  1703. X*** 1640,1646
  1704. X  uchar delim = 0;
  1705. X  int y,x;
  1706. X  int wgedit = 0;
  1707. X! int wgpos = 0;
  1708. X  char *expcmd;
  1709. X  extern char *sys_errlist[];
  1710. X  extern char errmsg[];
  1711. X
  1712. X--- 1643,1649 -----
  1713. X  uchar delim = 0;
  1714. X  int y,x;
  1715. X  int wgedit = 0;
  1716. X! int wgpos = -1;
  1717. X  char *expcmd;
  1718. X  extern char *sys_errlist[];
  1719. X  extern char errmsg[];
  1720. X***************
  1721. X*** 1873,1879
  1722. X  char buf[64];
  1723. X  uchar delim = 0;
  1724. X  int y,x;
  1725. X! int wgpos = 0;
  1726. X  
  1727. X      dirw_bot_msg("ESC: abort  ^U: erase input");
  1728. X      sprintf(buf,"(Must be greater than or equal to %d seconds)",
  1729. X
  1730. X--- 1876,1882 -----
  1731. X  char buf[64];
  1732. X  uchar delim = 0;
  1733. X  int y,x;
  1734. X! int wgpos = -1;
  1735. X  
  1736. X      dirw_bot_msg("ESC: abort  ^U: erase input");
  1737. X      sprintf(buf,"(Must be greater than or equal to %d seconds)",
  1738. X***************
  1739. X*** 1905,1910
  1740. X      sprintf(buf,"%d",nap_decisec_multiple / 10);
  1741. X      wstandout(dirw);
  1742. X      wgpos = strlen(buf);
  1743. X      while((delim != ESC) && (delim != NL))
  1744. X          (void)wingets(dirw,y,x,buf,3+1,&delim,1,&wgpos);
  1745. X      wstandend(dirw);
  1746. X
  1747. X--- 1908,1914 -----
  1748. X      sprintf(buf,"%d",nap_decisec_multiple / 10);
  1749. X      wstandout(dirw);
  1750. X      wgpos = strlen(buf);
  1751. X+     delim = 0;
  1752. X      while((delim != ESC) && (delim != NL))
  1753. X          (void)wingets(dirw,y,x,buf,3+1,&delim,1,&wgpos);
  1754. X      wstandend(dirw);
  1755. X***************
  1756. X*** 2088,2094
  1757. X              shm->Lmodem_already_init = 0;
  1758. X              lclose();
  1759. X          }
  1760. X!         strcpy(shm->Lline,"/dev/tty");
  1761. X          strcat(shm->Lline,tpde->tty);
  1762. X      }
  1763. X      else    /* "Any" */
  1764. X
  1765. X--- 2092,2102 -----
  1766. X              shm->Lmodem_already_init = 0;
  1767. X              lclose();
  1768. X          }
  1769. X! #if defined(M_SYSV)
  1770. X!         if(!strncmp(tpde->tty,"tty",3))    /* if "ttyxx" specified */
  1771. X!             strcpy(shm->Lline,"/dev/");
  1772. X!         else
  1773. X!             strcpy(shm->Lline,"/dev/tty");
  1774. X          strcat(shm->Lline,tpde->tty);
  1775. X  #else
  1776. X  #if defined(ISC)
  1777. X***************
  1778. X*** 2090,2095
  1779. X          }
  1780. X          strcpy(shm->Lline,"/dev/tty");
  1781. X          strcat(shm->Lline,tpde->tty);
  1782. X      }
  1783. X      else    /* "Any" */
  1784. X          choose_line(tpde->baud);
  1785. X
  1786. X--- 2098,2111 -----
  1787. X          else
  1788. X              strcpy(shm->Lline,"/dev/tty");
  1789. X          strcat(shm->Lline,tpde->tty);
  1790. X+ #else
  1791. X+ #if defined(ISC)
  1792. X+         strcpy(shm->Lline,"/dev/");
  1793. X+         strcat(shm->Lline,tpde->tty);
  1794. X+ #else
  1795. X+ #    include "need.porting.attention.here"
  1796. X+ #endif /* ISC */
  1797. X+ #endif /* M_SYSV */
  1798. X      }
  1799. X      else    /* "Any" */
  1800. X          choose_line(tpde->baud);
  1801. SHAR_EOF
  1802. $TOUCH -am 0812040191 'PATCH1.01' &&
  1803. chmod 0644 PATCH1.01 ||
  1804. echo 'restore of PATCH1.01 failed'
  1805. Wc_c="`wc -c < 'PATCH1.01'`"
  1806. test 40147 -eq "$Wc_c" ||
  1807.     echo 'PATCH1.01: original size 40147, current size' "$Wc_c"
  1808. true || echo 'restore of PATCH1.02 failed'
  1809. echo End of part 1, continue with part 2
  1810. exit 0
  1811.  
  1812. exit 0 # Just in case...
  1813. -- 
  1814. Kent Landfield                   INTERNET: kent@sparky.IMD.Sterling.COM
  1815. Sterling Software, IMD           UUCP:     uunet!sparky!kent
  1816. Phone:    (402) 291-8300         FAX:      (402) 291-4362
  1817. Please send comp.sources.misc-related mail to kent@uunet.uu.net.
  1818.