home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume13 / ecu2.80 / patch02 next >
Encoding:
Text File  |  1990-05-25  |  44.2 KB  |  1,613 lines

  1. Newsgroups: comp.sources.misc
  2. subject: v13i002: ECU 2.80 patch 2
  3. From: wht@gatech.edu@n4hgf.UUCP (Warren Tucker)
  4. Sender: allbery@uunet.UU.NET (Brandon S. Allbery - comp.sources.misc)
  5.  
  6. Posting-number: Volume 13, Issue 2
  7. Submitted-by: wht@gatech.edu@n4hgf.UUCP (Warren Tucker)
  8. Archive-name: ecu2.80/patch02
  9.  
  10. This patch overhauls the help system, enabling a user
  11. on a 25-line screen full access to the built-in help facility.
  12. Also, the help data itself has been updated.
  13.  
  14. Apply the patch by unsharing this package and typing APPLY.P02.
  15. Patch 1 must have been appled (including the manual correction
  16. for the failed hunk #7 of ecuhayes.c).  You may wish to apply
  17. patch 3 (released at the same time as this one) before proceeding.
  18. Then, make
  19.       su
  20.       make install
  21.  
  22. #!/bin/sh
  23. # This is ecu2.80/patch02, a shell archive (shar 3.27)
  24. # made 05/23/1990 10:28 UTC by wht%n4hgf@gatech.edu
  25. # Source directory /u1/src/ecu
  26. #
  27. # existing files WILL be overwritten
  28. #
  29. # This shar contains:
  30. # length  mode       name
  31. # ------ ---------- ------------------------------------------
  32. #    441 -rwxr-xr-x APPLY.P02
  33. #  30384 -rw-r--r-- ECU280.P02
  34. #  10682 -rw-r--r-- ecucmd.h
  35. #
  36. if touch 2>&1 | fgrep 'mmdd' > /dev/null
  37.  then TOUCH=touch
  38.  else TOUCH=true
  39. fi
  40. # ============= APPLY.P02 ==============
  41. echo "x - extracting APPLY.P02 (Text)"
  42. sed 's/^X//' << 'SHAR_EOF' > APPLY.P02 &&
  43. X:
  44. X#--------------------------------------------------------------
  45. X# APPLY.P02 - ensure patch 1 already applied and apply patch 2
  46. X#--------------------------------------------------------------
  47. Xif fgrep 'PATCHLEVEL 1' patchlevel.h > /dev/null 2>&1
  48. X   then
  49. X       echo 'Applying patch 2';
  50. X   else
  51. X       echo 'You must apply patch 1 first (or patch 2 already applied)';
  52. X       exit 1;
  53. Xfi
  54. Xpatch -p < ECU280.P02
  55. Xcat > patchlevel.h << PLEOF
  56. X#define PATCHLEVEL 2
  57. XPLEOF
  58. Xexit 0
  59. SHAR_EOF
  60. $TOUCH -am 0523062690 APPLY.P02 &&
  61. chmod 0755 APPLY.P02 ||
  62. echo "restore of APPLY.P02 failed"
  63. # ============= ECU280.P02 ==============
  64. echo "x - extracting ECU280.P02 (Text)"
  65. sed 's/^X//' << 'SHAR_EOF' > ECU280.P02 &&
  66. X#-------------------------------------------------------
  67. X# ECU280.P02 - help system overhaul
  68. X# created by gendiff x1.03 on 23 May 1990 10:04 UTC
  69. X#-------------------------------------------------------
  70. X*** /u4/ecurel/Make.ecu    Wed May 23 06:01:44 1990
  71. X--- Make.ecu    Sat May 19 17:23:09 1990
  72. X***************
  73. X*** 318,323
  74. X  ecu.o: ecukey.h
  75. X  ecu.o: ecuxkey.h
  76. X  ecu.o: ecuhangup.h
  77. X  ecuLCK.o: ecu.h
  78. X  ecuLCK.o: utmpstatus.h
  79. X  ecuchdir.o: ecu.h
  80. X
  81. X--- 318,324 -----
  82. X  ecu.o: ecukey.h
  83. X  ecu.o: ecuxkey.h
  84. X  ecu.o: ecuhangup.h
  85. X+ ecu.o: patchlevel.h
  86. X  ecuLCK.o: ecu.h
  87. X  ecuLCK.o: utmpstatus.h
  88. X  ecuchdir.o: ecu.h
  89. X***************
  90. X*** 379,384
  91. X  ecuscrdump.o: ecu.h
  92. X  ecuscrdump.o: pc_scr.h
  93. X  ecusetup.o: /usr/include/curses.h
  94. X  ecusetup.o: ecu.h
  95. X  ecusetup.o: ecukey.h
  96. X  ecusetup.o: ecuxkey.h
  97. X
  98. X--- 380,386 -----
  99. X  ecuscrdump.o: ecu.h
  100. X  ecuscrdump.o: pc_scr.h
  101. X  ecusetup.o: /usr/include/curses.h
  102. X+ ecusetup.o: patchlevel.h
  103. X  ecusetup.o: ecu.h
  104. X  ecusetup.o: ecukey.h
  105. X  ecusetup.o: ecuxkey.h
  106. X*** /u4/ecurel/README    Wed May 23 06:01:45 1990
  107. X--- README    Mon May 21 01:57:57 1990
  108. X***************
  109. X*** 331,333
  110. X  7.  If you are not using a 43-line screen, the list of commands
  111. X      displayed by the interactive 'help' command is truncated.  I
  112. X      apologize; this problem will be solved Real Soon Now.
  113. X
  114. X--- 331,343 -----
  115. X  7.  If you are not using a 43-line screen, the list of commands
  116. X      displayed by the interactive 'help' command is truncated.  I
  117. X      apologize; this problem will be solved Real Soon Now.
  118. X+ 
  119. X+ Changes since ecu 2.80 patchlevel 1
  120. X+ 
  121. X+ 1.  The built-in help system was reworked.  Interactive commands are
  122. X+     now divided into four categories: general, communications-related,
  123. X+     transfer-related and procedure-related.  The help command asks for
  124. X+     a category and displays the appropriate subset.
  125. X+ 
  126. X+ 2.  The built-in help file (ecuhelp.data) was revised.
  127. X+ 
  128. X*** /u4/ecurel/ecufinsert.c    Mon May  7 23:33:00 1990
  129. X--- ecufinsert.c    Mon May 21 01:22:56 1990
  130. X***************
  131. X*** 140,146
  132. X          ff(se,"    (P)aced transmission (20 msec/schar)\r\n");
  133. X          ff(se,"    (Q)uit (or ESC):             ");
  134. X          xmit_mode = ttygetc(0) & 0x7F;
  135. X!         fputs(make_char_graphic(xmit_mode,0),se);
  136. X          fputs("\r\n",se);
  137. X      }
  138. X  
  139. X
  140. X--- 140,147 -----
  141. X          ff(se,"    (P)aced transmission (20 msec/schar)\r\n");
  142. X          ff(se,"    (Q)uit (or ESC):             ");
  143. X          xmit_mode = ttygetc(0) & 0x7F;
  144. X!         if(xmit_mode > 0x20)
  145. X!             fputs(make_char_graphic(xmit_mode,0),se);
  146. X          fputs("\r\n",se);
  147. X      }
  148. X  
  149. X*** /u4/ecurel/ecuicmd.c    Wed May 23 06:02:14 1990
  150. X--- ecuicmd.c    Sun May 20 17:34:44 1990
  151. X***************
  152. X*** 443,467
  153. X          ff(se,"%s\r\n",makedate);
  154. X          break;
  155. X  
  156. X- #if !defined(M_XENIX) || defined(M_UNIX)
  157. X-         case CTte:
  158. X-         if(narg > 1)
  159. X-         {
  160. X-             if(sscanf(arg[1],"%x",&cmd_escape) && (cmd_escape < 0x7F))
  161. X-                 ff(se,"   tty escape set to "); 
  162. X-             else
  163. X-             {
  164. X-                 ff(se,"  invalid parameter must be 01 to 7E: setting to ");
  165. X-                 cmd_escape = '%';
  166. X-             }
  167. X-         }
  168. X-         else
  169. X-             ff(se,"   tty escape is ");
  170. X- 
  171. X-         ff(se,"0x%02x (%s)\r\n",cmd_escape,make_char_graphic(cmd_escape,1));
  172. X-         break;
  173. X- #endif
  174. X- 
  175. X          case CTtime:
  176. X          get_tod(4,cmd);
  177. X          ff(se,": %s\r\n",cmd);
  178. X
  179. X--- 443,448 -----
  180. X          ff(se,"%s\r\n",makedate);
  181. X          break;
  182. X  
  183. X          case CTtime:
  184. X          get_tod(4,cmd);
  185. X          ff(se,": %s\r\n",cmd);
  186. X*** /u4/ecurel/ecuicmhelp.c    Mon May  7 23:33:00 1990
  187. X--- ecuicmhelp.c    Mon May 21 01:37:38 1990
  188. X***************
  189. X*** 181,187
  190. X          return(cmd);
  191. X  }    /* end of help_get_cmd */
  192. X  
  193. X- 
  194. X  /*+-------------------------------------------------------------------------
  195. X      display_help_screen()
  196. X  --------------------------------------------------------------------------*/
  197. X
  198. X--- 181,186 -----
  199. X          return(cmd);
  200. X  }    /* end of help_get_cmd */
  201. X  
  202. X  /*+-------------------------------------------------------------------------
  203. X      display_help_screen()
  204. X  get user command section choice and display that group of commands
  205. X***************
  206. X*** 184,189
  207. X  
  208. X  /*+-------------------------------------------------------------------------
  209. X      display_help_screen()
  210. X  --------------------------------------------------------------------------*/
  211. X  void
  212. X  display_help_screen()
  213. X
  214. X--- 183,189 -----
  215. X  
  216. X  /*+-------------------------------------------------------------------------
  217. X      display_help_screen()
  218. X+ get user command section choice and display that group of commands
  219. X  --------------------------------------------------------------------------*/
  220. X  int
  221. X  display_help_screen()
  222. X***************
  223. X*** 185,191
  224. X  /*+-------------------------------------------------------------------------
  225. X      display_help_screen()
  226. X  --------------------------------------------------------------------------*/
  227. X! void
  228. X  display_help_screen()
  229. X  {
  230. X  register itmp;
  231. X
  232. X--- 185,191 -----
  233. X      display_help_screen()
  234. X  get user command section choice and display that group of commands
  235. X  --------------------------------------------------------------------------*/
  236. X! int
  237. X  display_help_screen()
  238. X  {
  239. X  register itmp;
  240. X***************
  241. X*** 189,195
  242. X  display_help_screen()
  243. X  {
  244. X  register itmp;
  245. X! register P_CMD *pcmd = icmd_cmds;
  246. X  register y = 1;
  247. X  register x = 0;
  248. X  char s80[80];
  249. X
  250. X--- 189,195 -----
  251. X  display_help_screen()
  252. X  {
  253. X  register itmp;
  254. X! register P_CMD *pcmd;
  255. X  register y = 1;
  256. X  register x = 0;
  257. X  short cmdclass;
  258. X***************
  259. X*** 192,197
  260. X  register P_CMD *pcmd = icmd_cmds;
  261. X  register y = 1;
  262. X  register x = 0;
  263. X  char s80[80];
  264. X  
  265. X      wclear(stdscr);
  266. X
  267. X--- 192,198 -----
  268. X  register P_CMD *pcmd;
  269. X  register y = 1;
  270. X  register x = 0;
  271. X+ short cmdclass;
  272. X  char s80[80];
  273. X  char **cpptr;
  274. X  static char *list[] =
  275. X***************
  276. X*** 193,198
  277. X  register y = 1;
  278. X  register x = 0;
  279. X  char s80[80];
  280. X  
  281. X      wclear(stdscr);
  282. X      wmove(stdscr,0,0);
  283. X
  284. X--- 194,210 -----
  285. X  register x = 0;
  286. X  short cmdclass;
  287. X  char s80[80];
  288. X+ char **cpptr;
  289. X+ static char *list[] =
  290. X+ {
  291. X+     "g   - general commands",
  292. X+     "c   - communications-related commands",
  293. X+     "t   - transfer-related commands",
  294. X+     "p   - procedure-related commands",
  295. X+     "Esc - exit help",
  296. X+     (char *)0
  297. X+ };
  298. X+ static char keylist[] = {'g','c','t','p',ESC,0};
  299. X  
  300. X  
  301. X      wclear(stdscr);
  302. X***************
  303. X*** 194,199
  304. X  register x = 0;
  305. X  char s80[80];
  306. X  
  307. X      wclear(stdscr);
  308. X      wmove(stdscr,0,0);
  309. X      wstandout(stdscr);
  310. X
  311. X--- 206,212 -----
  312. X  };
  313. X  static char keylist[] = {'g','c','t','p',ESC,0};
  314. X  
  315. X+ 
  316. X      wclear(stdscr);
  317. X      wmove(stdscr,0,0);
  318. X      wstandout(stdscr);
  319. X***************
  320. X*** 197,204
  321. X      wclear(stdscr);
  322. X      wmove(stdscr,0,0);
  323. X      wstandout(stdscr);
  324. X!     waddstr(stdscr,
  325. X! " ecu command list    (capitalized portion sufficient for cmd recognition)");
  326. X      getyx(stdscr,y,x);
  327. X      for(itmp = x; itmp < COLS-1; itmp++)
  328. X          waddch(stdscr,' ');
  329. X
  330. X--- 210,216 -----
  331. X      wclear(stdscr);
  332. X      wmove(stdscr,0,0);
  333. X      wstandout(stdscr);
  334. X!     waddstr(stdscr,"Interactive Command Help");
  335. X      getyx(stdscr,y,x);
  336. X      for(itmp = x; itmp < COLS-1; itmp++)
  337. X          waddch(stdscr,' ');
  338. X***************
  339. X*** 204,209
  340. X          waddch(stdscr,' ');
  341. X      wstandend(stdscr);
  342. X  
  343. X      pcmd = icmd_cmds;
  344. X      y = 1;
  345. X      x = 0;
  346. X
  347. X--- 216,239 -----
  348. X          waddch(stdscr,' ');
  349. X      wstandend(stdscr);
  350. X  
  351. X+     itmp = 6;
  352. X+     cpptr = list;
  353. X+     while(*cpptr)
  354. X+     {
  355. X+         wmove(stdscr,itmp++,4);
  356. X+         waddstr(stdscr,*cpptr++);
  357. X+     }
  358. X+     wmove(stdscr,19,4);
  359. X+     waddstr(stdscr,"---- press a key -------");
  360. X+     switch(winget_single(stdscr,"",keylist) & 0x7F)
  361. X+     {
  362. X+         case 'g': cmdclass = ccG; break;
  363. X+         case 'c': cmdclass = ccC; break;
  364. X+         case 't': cmdclass = ccT; break;
  365. X+         case 'p': cmdclass = ccP; break;
  366. X+         case ESC: return(1); /* <=================== */
  367. X+     }
  368. X+ 
  369. X      pcmd = icmd_cmds;
  370. X      y = 1;
  371. X      x = 0;
  372. X***************
  373. X*** 207,212
  374. X      pcmd = icmd_cmds;
  375. X      y = 1;
  376. X      x = 0;
  377. X      while(pcmd->token != -1)
  378. X      {
  379. X          if(!*pcmd->descr)
  380. X
  381. X--- 237,244 -----
  382. X      pcmd = icmd_cmds;
  383. X      y = 1;
  384. X      x = 0;
  385. X+     wmove(stdscr,y,x);
  386. X+     wclrtobot(stdscr);
  387. X      while(pcmd->token != -1)
  388. X      {
  389. X          if(!*pcmd->descr || (pcmd->cmdclass != cmdclass))
  390. X***************
  391. X*** 209,215
  392. X      x = 0;
  393. X      while(pcmd->token != -1)
  394. X      {
  395. X!         if(!*pcmd->descr)
  396. X          {
  397. X              pcmd++;
  398. X              continue;
  399. X
  400. X--- 241,247 -----
  401. X      wclrtobot(stdscr);
  402. X      while(pcmd->token != -1)
  403. X      {
  404. X!         if(!*pcmd->descr || (pcmd->cmdclass != cmdclass))
  405. X          {
  406. X              pcmd++;
  407. X              continue;
  408. X***************
  409. X*** 235,240
  410. X          }
  411. X          pcmd++;
  412. X      }
  413. X  
  414. X  }    /* end of display_help_screen */
  415. X  
  416. X
  417. X--- 267,281 -----
  418. X          }
  419. X          pcmd++;
  420. X      }
  421. X+     wmove(stdscr,LINES - 2,0);
  422. X+     wstandout(stdscr);
  423. X+     waddstr(stdscr,
  424. X+ "Capitalized portion of listed command sufficient for command recognition");
  425. X+     getyx(stdscr,y,x);
  426. X+     for(itmp = x; itmp < COLS-1; itmp++)
  427. X+         waddch(stdscr,' ');
  428. X+     wstandend(stdscr);
  429. X+     return(0);
  430. X  
  431. X  }    /* end of display_help_screen */
  432. X  
  433. X***************
  434. X*** 254,261
  435. X      calculate_help_right_column();
  436. X      windows_start();
  437. X      scrollok(stdscr,0);
  438. X!     display_help_screen();
  439. X!     while(cptr = help_get_cmd())
  440. X      {
  441. X          wmove(stdscr,LINES - 1,0);
  442. X          wclrtoeol(stdscr);
  443. X
  444. X--- 295,301 -----
  445. X      calculate_help_right_column();
  446. X      windows_start();
  447. X      scrollok(stdscr,0);
  448. X!     if(!display_help_screen())
  449. X      {
  450. X          while(cptr = help_get_cmd())
  451. X          {
  452. X***************
  453. X*** 257,269
  454. X      display_help_screen();
  455. X      while(cptr = help_get_cmd())
  456. X      {
  457. X!         wmove(stdscr,LINES - 1,0);
  458. X!         wclrtoeol(stdscr);
  459. X!         wrefresh(stdscr);
  460. X!         display_help_stderr(cptr);
  461. X!         ff(se,"press return:  ");
  462. X!         ttygetc(1);
  463. X!         display_help_screen();
  464. X      }
  465. X      wmove(stdscr,LINES - 1,0);
  466. X      wclrtoeol(stdscr);
  467. X
  468. X--- 297,313 -----
  469. X      scrollok(stdscr,0);
  470. X      if(!display_help_screen())
  471. X      {
  472. X!         while(cptr = help_get_cmd())
  473. X!         {
  474. X!             wmove(stdscr,LINES - 1,0);
  475. X!             wclrtoeol(stdscr);
  476. X!             wrefresh(stdscr);
  477. X!             display_help_stderr(cptr);
  478. X!             ff(se,"\r\npress return:  ");
  479. X!             ttygetc(1);
  480. X!             if(display_help_screen())
  481. X!                 break;
  482. X!         }
  483. X      }
  484. X      windows_end(stdscr);
  485. X      redisplay_rcvr_screen();
  486. X***************
  487. X*** 265,272
  488. X          ttygetc(1);
  489. X          display_help_screen();
  490. X      }
  491. X-     wmove(stdscr,LINES - 1,0);
  492. X-     wclrtoeol(stdscr);
  493. X      windows_end(stdscr);
  494. X      redisplay_rcvr_screen();
  495. X      if(rcvr_active)
  496. X
  497. X--- 309,314 -----
  498. X                  break;
  499. X          }
  500. X      }
  501. X      windows_end(stdscr);
  502. X      redisplay_rcvr_screen();
  503. X      if(rcvr_active)
  504. X*** /u4/ecurel/ecunumrev.c    Wed May 23 06:02:17 1990
  505. X--- ecunumrev.c    Mon May 21 01:32:36 1990
  506. X***************
  507. X*** 16,22
  508. X  #endif
  509. X  
  510. X  #ifdef WHT
  511. X! char *numeric_revision = "twx280.04";
  512. X  #else
  513. X  #ifdef SCO
  514. X  char *numeric_revision = "sco2.80";
  515. X
  516. X--- 16,22 -----
  517. X  #endif
  518. X  
  519. X  #ifdef WHT
  520. X! char *numeric_revision = "twx280.07";
  521. X  #else
  522. X  #ifdef SCO
  523. X  char *numeric_revision = "sco2.80";
  524. X*** /u4/ecurel/ecuwinutil.c    Mon May  7 23:33:00 1990
  525. X--- ecuwinutil.c    Fri May 18 14:28:06 1990
  526. X***************
  527. X*** 290,295
  528. X                      continue;
  529. X  
  530. X                  default:
  531. X                      wrefresh(win);
  532. X                      return(-1);
  533. X              }    /* end of switch(*delim) */
  534. X
  535. X--- 290,296 -----
  536. X                      continue;
  537. X  
  538. X                  default:
  539. X+                     *(buf + pos) = 0;
  540. X                      wrefresh(win);
  541. X                      return(-1);
  542. X              }    /* end of switch(*delim) */
  543. X*** /u4/ecurel/ecuxfer.c    Wed May 23 06:02:33 1990
  544. X--- ecuxfer.c    Mon May 21 15:50:38 1990
  545. X***************
  546. X*** 36,41
  547. X  
  548. X  --------------------------------------------------------------------------*/
  549. X  /*+:EDITS:*/
  550. X  /*:05-14-1990-13:28-wht@n4hgf-add window size choice to sz */
  551. X  /*:05-07-1990-21:24-wht@n4hgf---- 2.80 --- */
  552. X  /*:04-19-1990-03:07-wht@n4hgf-GCC run found unused vars -- rm them */
  553. X
  554. X--- 36,42 -----
  555. X  
  556. X  --------------------------------------------------------------------------*/
  557. X  /*+:EDITS:*/
  558. X+ /*:05-19-1990-17:12-wht@n4hgf-fix interaction between file list and windw */
  559. X  /*:05-14-1990-13:28-wht@n4hgf-add window size choice to sz */
  560. X  /*:05-07-1990-21:24-wht@n4hgf---- 2.80 --- */
  561. X  /*:04-19-1990-03:07-wht@n4hgf-GCC run found unused vars -- rm them */
  562. X***************
  563. X*** 455,460
  564. X  int used_argv = 0;
  565. X  char execcmd[256];
  566. X  char s80[80];
  567. X  uchar delim;    /* important to be unsigned to avoid sign extension */
  568. X  WINDOW *window_create();
  569. X  char bottom_label[64];
  570. X
  571. X--- 456,462 -----
  572. X  int used_argv = 0;
  573. X  char execcmd[256];
  574. X  char s80[80];
  575. X+ char flst[80];
  576. X  uchar delim;    /* important to be unsigned to avoid sign extension */
  577. X  WINDOW *window_create();
  578. X  char bottom_label[64];
  579. X***************
  580. X*** 518,524
  581. X      waddstr(xfrw," dir: ");
  582. X      if(strlen(curr_dir) > (xfrw_cols - 32))
  583. X      {
  584. X-     char s80[80];
  585. X          strncpy(s80,curr_dir,xfrw_cols - 32);
  586. X          s80[xfrw_cols - 32] = 0;
  587. X          waddstr(xfrw,s80);
  588. X
  589. X--- 520,525 -----
  590. X      waddstr(xfrw," dir: ");
  591. X      if(strlen(curr_dir) > (xfrw_cols - 32))
  592. X      {
  593. X          strncpy(s80,curr_dir,xfrw_cols - 32);
  594. X          s80[xfrw_cols - 32] = 0;
  595. X          waddstr(xfrw,s80);
  596. X***************
  597. X*** 526,531
  598. X      else
  599. X          waddstr(xfrw,curr_dir);
  600. X      waddch(xfrw,' ');
  601. X  
  602. X  REENTER_INPUT_LOOP:
  603. X      input_done = 0;
  604. X
  605. X--- 527,533 -----
  606. X      else
  607. X          waddstr(xfrw,curr_dir);
  608. X      waddch(xfrw,' ');
  609. X+     flst[0] = 0;
  610. X  
  611. X  REENTER_INPUT_LOOP:
  612. X      input_done = 0;
  613. X***************
  614. X*** 538,544
  615. X  CASE_0_AGAIN:
  616. X                  if(used_argv || (argc == 1))
  617. X                  {
  618. X!                     itmp = wingets(xfrw,SNDW_FILE_Y,SNDW_FILE_X,s80,
  619. X                          SNDW_FILE_LEN + 1,&delim,(p_filelist[0] != 0));
  620. X                  }
  621. X                  else
  622. X
  623. X--- 540,546 -----
  624. X  CASE_0_AGAIN:
  625. X                  if(used_argv || (argc == 1))
  626. X                  {
  627. X!                     itmp = wingets(xfrw,SNDW_FILE_Y,SNDW_FILE_X,flst,
  628. X                          SNDW_FILE_LEN + 1,&delim,(p_filelist[0] != 0));
  629. X                  }
  630. X                  else
  631. X***************
  632. X*** 544,550
  633. X                  else
  634. X                  {
  635. X                      used_argv = 1;
  636. X!                     s80[0] = 0;
  637. X                      utmp = 0;
  638. X                      for(itmp = 1; itmp < argc; itmp++)
  639. X                      {
  640. X
  641. X--- 546,552 -----
  642. X                  else
  643. X                  {
  644. X                      used_argv = 1;
  645. X!                     flst[0] = 0;
  646. X                      utmp = 0;
  647. X                      for(itmp = 1; itmp < argc; itmp++)
  648. X                      {
  649. X***************
  650. X*** 548,554
  651. X                      utmp = 0;
  652. X                      for(itmp = 1; itmp < argc; itmp++)
  653. X                      {
  654. X!                         if((strlen(s80) + strlen(argv[itmp]) + 1) > sizeof(s80))
  655. X                          {
  656. X                              xfrw_bot_msg("arguments too long ... reenter list");
  657. X                              ring_bell();
  658. X
  659. X--- 550,556 -----
  660. X                      utmp = 0;
  661. X                      for(itmp = 1; itmp < argc; itmp++)
  662. X                      {
  663. X!                         if((strlen(flst) + strlen(argv[itmp]) + 1) > sizeof(flst))
  664. X                          {
  665. X                              xfrw_bot_msg("arguments too long ... reenter list");
  666. X                              ring_bell();
  667. X***************
  668. X*** 554,560
  669. X                              ring_bell();
  670. X                              goto CASE_0_AGAIN;
  671. X                          }
  672. X!                         strcat(s80,argv[itmp]);
  673. X                          if(itmp != (argc - 1))
  674. X                              strcat(s80," ");
  675. X                      }
  676. X
  677. X--- 556,562 -----
  678. X                              ring_bell();
  679. X                              goto CASE_0_AGAIN;
  680. X                          }
  681. X!                         strcat(flst,argv[itmp]);
  682. X                          if(itmp != (argc - 1))
  683. X                              strcat(flst," ");
  684. X                      }
  685. X***************
  686. X*** 556,562
  687. X                          }
  688. X                          strcat(s80,argv[itmp]);
  689. X                          if(itmp != (argc - 1))
  690. X!                             strcat(s80," ");
  691. X                      }
  692. X                      delim = CR;
  693. X                  }
  694. X
  695. X--- 558,564 -----
  696. X                          }
  697. X                          strcat(flst,argv[itmp]);
  698. X                          if(itmp != (argc - 1))
  699. X!                             strcat(flst," ");
  700. X                      }
  701. X                      delim = NL;
  702. X                  }
  703. X***************
  704. X*** 558,564
  705. X                          if(itmp != (argc - 1))
  706. X                              strcat(s80," ");
  707. X                      }
  708. X!                     delim = CR;
  709. X                  }
  710. X                  if(delim == ESC)
  711. X                      break;
  712. X
  713. X--- 560,566 -----
  714. X                          if(itmp != (argc - 1))
  715. X                              strcat(flst," ");
  716. X                      }
  717. X!                     delim = NL;
  718. X                  }
  719. X                  if(delim == ESC)
  720. X                      break;
  721. X***************
  722. X*** 562,568
  723. X                  }
  724. X                  if(delim == ESC)
  725. X                      break;
  726. X!                 if(strlen(s80))
  727. X                  {
  728. X                      strcpy(p_filelist,s80);
  729. X                      xfrws_display_name();
  730. X
  731. X--- 564,570 -----
  732. X                  }
  733. X                  if(delim == ESC)
  734. X                      break;
  735. X!                 if(strlen(flst))
  736. X                  {
  737. X                      strcpy(p_filelist,flst);
  738. X                      xfrws_display_name();
  739. X***************
  740. X*** 564,570
  741. X                      break;
  742. X                  if(strlen(s80))
  743. X                  {
  744. X!                     strcpy(p_filelist,s80);
  745. X                      xfrws_display_name();
  746. X                      if(find_shell_chars(p_filelist))
  747. X                      {
  748. X
  749. X--- 566,572 -----
  750. X                      break;
  751. X                  if(strlen(flst))
  752. X                  {
  753. X!                     strcpy(p_filelist,flst);
  754. X                      xfrws_display_name();
  755. X                      if(find_shell_chars(p_filelist))
  756. X                      {
  757. X***************
  758. X*** 583,588
  759. X                      }
  760. X                  }
  761. X                  break;
  762. X              case 1:        /* binary */
  763. X                  xfrw_bot_msg("Y: no conversion, N: NLs converted to CR/LF");
  764. X                  wmove(xfrw,SNDW_BIN_Y,SNDW_BIN_X);
  765. X
  766. X--- 585,591 -----
  767. X                      }
  768. X                  }
  769. X                  break;
  770. X+ 
  771. X              case 1:        /* binary */
  772. X                  xfrw_bot_msg("Y: no conversion, N: NLs converted to CR/LF");
  773. X                  wmove(xfrw,SNDW_BIN_Y,SNDW_BIN_X);
  774. X***************
  775. X*** 659,665
  776. X              case 5:        /* window size */
  777. X  
  778. X                  xfrw_bot_msg(
  779. X!                 "window size (bytes transferred before ACK) 0 = stream");
  780. X                  sprintf(s80,"%d",zwindw_size);
  781. X                  itmp = wingets(xfrw,SNDW_ZWINDW_Y,SNDW_ZWINDW_X,s80,
  782. X                      SNDW_ZWINDW_LEN + 1,&delim,1);
  783. X
  784. X--- 662,669 -----
  785. X              case 5:        /* window size */
  786. X  
  787. X                  xfrw_bot_msg(
  788. X!                 "window size (max bytes sent before ACK required) 0 = stream");
  789. X! CASE_5_AGAIN:
  790. X                  sprintf(s80,"%d",zwindw_size);
  791. X                  clear_area(xfrw,SNDW_ZWINDW_Y,SNDW_ZWINDW_X,
  792. X                      SNDW_ZWINDW_LEN + 10);
  793. X***************
  794. X*** 661,666
  795. X                  xfrw_bot_msg(
  796. X                  "window size (bytes transferred before ACK) 0 = stream");
  797. X                  sprintf(s80,"%d",zwindw_size);
  798. X                  itmp = wingets(xfrw,SNDW_ZWINDW_Y,SNDW_ZWINDW_X,s80,
  799. X                      SNDW_ZWINDW_LEN + 1,&delim,1);
  800. X                  if(delim == ESC)
  801. X
  802. X--- 665,672 -----
  803. X                  "window size (max bytes sent before ACK required) 0 = stream");
  804. X  CASE_5_AGAIN:
  805. X                  sprintf(s80,"%d",zwindw_size);
  806. X+                 clear_area(xfrw,SNDW_ZWINDW_Y,SNDW_ZWINDW_X,
  807. X+                     SNDW_ZWINDW_LEN + 10);
  808. X                  itmp = wingets(xfrw,SNDW_ZWINDW_Y,SNDW_ZWINDW_X,s80,
  809. X                      SNDW_ZWINDW_LEN + 1,&delim,1);
  810. X                  if((delim == ESC))
  811. X***************
  812. X*** 663,669
  813. X                  sprintf(s80,"%d",zwindw_size);
  814. X                  itmp = wingets(xfrw,SNDW_ZWINDW_Y,SNDW_ZWINDW_X,s80,
  815. X                      SNDW_ZWINDW_LEN + 1,&delim,1);
  816. X!                 if(delim == ESC)
  817. X                      break;
  818. X                  if(strlen(s80))
  819. X                  {
  820. X
  821. X--- 669,675 -----
  822. X                      SNDW_ZWINDW_LEN + 10);
  823. X                  itmp = wingets(xfrw,SNDW_ZWINDW_Y,SNDW_ZWINDW_X,s80,
  824. X                      SNDW_ZWINDW_LEN + 1,&delim,1);
  825. X!                 if((delim == ESC))
  826. X                      break;
  827. X                  if( ((itmp = atoi(s80)) != 0) &&
  828. X                      ((itmp < 256) || (itmp > 65536)))
  829. X***************
  830. X*** 665,671
  831. X                      SNDW_ZWINDW_LEN + 1,&delim,1);
  832. X                  if(delim == ESC)
  833. X                      break;
  834. X!                 if(strlen(s80))
  835. X                  {
  836. X                      if(((itmp = atoi(s80)) < 0) ||
  837. X                          ((itmp < 256) || (itmp > 65536)))
  838. X
  839. X--- 671,678 -----
  840. X                      SNDW_ZWINDW_LEN + 1,&delim,1);
  841. X                  if((delim == ESC))
  842. X                      break;
  843. X!                 if( ((itmp = atoi(s80)) != 0) &&
  844. X!                     ((itmp < 256) || (itmp > 65536)))
  845. X                  {
  846. X                      ring_bell();
  847. X                      xfrw_bot_msg(
  848. X***************
  849. X*** 667,685
  850. X                      break;
  851. X                  if(strlen(s80))
  852. X                  {
  853. X!                     if(((itmp = atoi(s80)) < 0) ||
  854. X!                         ((itmp < 256) || (itmp > 65536)))
  855. X!                     {
  856. X!                         ring_bell();
  857. X!                         xfrw_bot_msg(
  858. X!                             "window size must be 0 or 256 <= w <= 65536");
  859. X!                         continue;
  860. X!                     }
  861. X!                     zwindw_size = atoi(s80);
  862. X!                     sprintf(s80,"%d",zwindw_size);
  863. X!                     clear_area(xfrw,SNDW_ZWINDW_Y,SNDW_ZWINDW_X,
  864. X!                         SNDW_ZWINDW_LEN);
  865. X!                     waddstr(xfrw,s80);
  866. X                  }
  867. X                  break;
  868. X          }
  869. X
  870. X--- 674,683 -----
  871. X                  if( ((itmp = atoi(s80)) != 0) &&
  872. X                      ((itmp < 256) || (itmp > 65536)))
  873. X                  {
  874. X!                     ring_bell();
  875. X!                     xfrw_bot_msg(
  876. X!                         "window size must be 0 or 256 <= w <= 65536");
  877. X!                     goto CASE_5_AGAIN;
  878. X                  }
  879. X                  zwindw_size = (itmp / 64) * 64;
  880. X                  sprintf(s80,"%d%s",zwindw_size,
  881. X***************
  882. X*** 681,686
  883. X                          SNDW_ZWINDW_LEN);
  884. X                      waddstr(xfrw,s80);
  885. X                  }
  886. X                  break;
  887. X          }
  888. X  
  889. X
  890. X--- 679,690 -----
  891. X                          "window size must be 0 or 256 <= w <= 65536");
  892. X                      goto CASE_5_AGAIN;
  893. X                  }
  894. X+                 zwindw_size = (itmp / 64) * 64;
  895. X+                 sprintf(s80,"%d%s",zwindw_size,
  896. X+                     (zwindw_size != itmp) ? " adjusted" : "" );
  897. X+                 clear_area(xfrw,SNDW_ZWINDW_Y,SNDW_ZWINDW_X,
  898. X+                     SNDW_ZWINDW_LEN + 10);
  899. X+                 waddstr(xfrw,s80);
  900. X                  break;
  901. X          }
  902. X  
  903. X*** /u4/ecurel/help/ecuhelp.src    Wed May 23 06:02:35 1990
  904. X--- help/ecuhelp.src    Mon May 21 01:41:59 1990
  905. X***************
  906. X*** 1,8
  907. X! # ecu help ,source file
  908. X! /*+:EDITS:*/
  909. X! /*:11-03-1989-16:21-wht------ unet2 ----- */
  910. X! /*:06-17-1988-11:10-wht-add 'exit' command */
  911. X! /*:06-13-1988-15:38-wht-creation */
  912. X  #--------------------------------------------------------------------
  913. X  %ax
  914. X  Usage: ax [<param>]
  915. X
  916. X--- 1,8 -----
  917. X! # ecu help source file
  918. X! #+:EDITS:
  919. X! #:11-03-1989-16:21-wht------ unet2 -----
  920. X! #:06-17-1988-11:10-wht-add 'exit' command
  921. X! #:06-13-1988-15:38-wht-creation
  922. X  #--------------------------------------------------------------------
  923. X  %ax
  924. X  Usage: ax [<param>]
  925. X***************
  926. X*** 481,485
  927. X  Similarly,
  928. X    '$' causes the communications line to be stdin and stdout
  929. X        for the spawned shell
  930. X!   '>' causes spawned shell to receive exactly sames files as ecu
  931. X  #--------------------------------------------------------------------
  932. X
  933. X--- 481,488 -----
  934. X  Similarly,
  935. X    '$' causes the communications line to be stdin and stdout
  936. X        for the spawned shell
  937. X!   '-' is similar to '>', except the command is executed directly
  938. X!       without going through a shell.
  939. X  #--------------------------------------------------------------------
  940. X  %$
  941. X  Usage: $
  942. X***************
  943. X*** 483,485
  944. X        for the spawned shell
  945. X    '>' causes spawned shell to receive exactly sames files as ecu
  946. X  #--------------------------------------------------------------------
  947. X
  948. X--- 484,569 -----
  949. X    '-' is similar to '>', except the command is executed directly
  950. X        without going through a shell.
  951. X  #--------------------------------------------------------------------
  952. X+ %$
  953. X+ Usage: $
  954. X+        $<command>
  955. X+ 
  956. X+ The '$' command is a shell escape causing the communications line to be
  957. X+ the stand input and output.  The environment variable SHELL is read to
  958. X+ determine what shell program to execute (e.g., /bin/sh, etc).  If '$' is
  959. X+ entered by itself, an interactive shell is started; a ^D received from
  960. X+ the communications line causes the shell to terminate and control to be
  961. X+ passed back to ecu.  If <command> is supplied, it is executed by the
  962. X+ shell with an immediate return to ecu.
  963. X+ #--------------------------------------------------------------------
  964. X+ %-
  965. X+ Usage: -<command>
  966. X+ 
  967. X+ The '-' command causes <command> to be executed directly without
  968. X+ passing through a shell (no wildcard expansion or other shell
  969. X+ processing occurs).  Standard input, output and error all are
  970. X+ opened to the console.  In addition, all other files (including
  971. X+ the communications line) opened by ecu remain open.
  972. X+ #--------------------------------------------------------------------
  973. X+ %?
  974. X+ Usage: ?
  975. X+ 
  976. X+ This is an alias for the help command.
  977. X+ #--------------------------------------------------------------------
  978. X+ %clrx
  979. X+ Usage: clrx
  980. X+ 
  981. X+ The 'clrx' command simulates receipt of an XON by ECU.  It is useful
  982. X+ in the rare circumstances that an XOFF is received by ECU from a 
  983. X+ remote system and no later XON is received.
  984. X+ #--------------------------------------------------------------------
  985. X+ %pcmd
  986. X+ Usage: pcmd <procedure command>
  987. X+ 
  988. X+ The 'pcmd' command allows a procedure command to be issued from the
  989. X+ interactive command prompt.  It is primarily intended for debugging
  990. X+ procedure commands, but it is available for any use.
  991. X+ #--------------------------------------------------------------------
  992. X+ %plog
  993. X+ Usage: plog [<filename> | off | ]
  994. X+ 
  995. X+ The 'plog' command turns on or off procedure logging.  If the
  996. X+ argument to the command is 'off', logging is turned off, otherwise
  997. X+ logging is started on the specified file.  If no argument is specified,
  998. X+ the status of procedure logging is displayed.
  999. X+ #--------------------------------------------------------------------
  1000. X+ %rtscts
  1001. X+ Usage: rtscts [ y | n | ]
  1002. X+ 
  1003. X+ This experimental command turns on or off the driver RTS and CTS
  1004. X+ flow control.  As of this writing, the driver does not properly
  1005. X+ handle RTS/CTS flow control.
  1006. X+ #--------------------------------------------------------------------
  1007. X+ %sdname
  1008. X+ Usage: sdname [<filename> | ]
  1009. X+ 
  1010. X+ This command sets or displays the current screen dump filename.
  1011. X+ Until the command is issued, screen dump data is placed in
  1012. X+ ~/.ecu/screen.dump.
  1013. X+ #--------------------------------------------------------------------
  1014. X+ %sgr
  1015. X+ Usage: sgr mode cmd
  1016. X+ 
  1017. X+ This experimental command is used to test the timed read primitive
  1018. X+ used by ECU.  The command <cmd> is sent to the line and a timed
  1019. X+ read is performed.  The data returned is displayed in hexadecimal
  1020. X+ format on the console. Refer to source module ecuxenix.c, function
  1021. X+ send_get_response() for details.
  1022. X+ #--------------------------------------------------------------------
  1023. X+ %ts
  1024. X+ Usage: ts
  1025. X+ 
  1026. X+ This experimental command displays raw termio structure information
  1027. X+ for the console and the tty.  It is primarily used in debugging ECU.
  1028. X+ #--------------------------------------------------------------------
  1029. X+ %xlog
  1030. X+ Usage: xlog [y | n]
  1031. X+ 
  1032. X+ This experimental command controls exhaustive logging by the X, Y, and
  1033. X+ ZMODEM file transfer protocols to files named /tmp/szNNNNN.log or
  1034. X+ /tmp/rzNNNNN.log where NNNNN is the process id of the transfer process.
  1035. X*** /u4/ecurel/help/helpgen.c    Mon May  7 23:33:00 1990
  1036. X--- help/helpgen.c    Wed May 23 05:53:56 1990
  1037. X***************
  1038. X*** 48,55
  1039. X  #define PFITXT    "../doc/ecufi.txt"
  1040. X  #define PFSTXT    "../doc/ecufs.txt"
  1041. X  
  1042. X! long    start_pos[TOKEN_QUAN];
  1043. X! int        token_line[TOKEN_QUAN];
  1044. X  FILE    *fpsrc;        /* help source file */
  1045. X  FILE    *fpdat;        /* help data file */
  1046. X  FILE    *fpdoc;        /* help doc file */
  1047. X
  1048. X--- 48,55 -----
  1049. X  #define PFITXT    "../doc/ecufi.txt"
  1050. X  #define PFSTXT    "../doc/ecufs.txt"
  1051. X  
  1052. X! long start_pos[TOKEN_QUAN];
  1053. X! int token_line[TOKEN_QUAN];
  1054. X  FILE    *fpsrc;        /* help source file */
  1055. X  FILE    *fpdat;        /* help data file */
  1056. X  FILE    *fpdoc;        /* help doc file */
  1057. X***************
  1058. X*** 55,62
  1059. X  FILE    *fpdoc;        /* help doc file */
  1060. X  FILE    *fptxt;        /* help nroff file */
  1061. X  P_CMD    *pcmd;
  1062. X! int        src_line = 0;
  1063. X! char    buf[128];
  1064. X  
  1065. X  /*+-------------------------------------------------------------------------
  1066. X      usage()
  1067. X
  1068. X--- 55,62 -----
  1069. X  FILE    *fpdoc;        /* help doc file */
  1070. X  FILE    *fptxt;        /* help nroff file */
  1071. X  P_CMD    *pcmd;
  1072. X! int src_line = 0;
  1073. X! char buf[128];
  1074. X  
  1075. X  /*+-------------------------------------------------------------------------
  1076. X      usage()
  1077. X***************
  1078. X*** 79,85
  1079. X  --------------------------------------------------------------------------*/
  1080. X  P_CMD *
  1081. X  search_cmd_list(cmd)
  1082. X! register char    *cmd;
  1083. X  {
  1084. X  register P_CMD    *cmd_list = icmd_cmds;
  1085. X  
  1086. X
  1087. X--- 79,85 -----
  1088. X  --------------------------------------------------------------------------*/
  1089. X  P_CMD *
  1090. X  search_cmd_list(cmd)
  1091. X! register char *cmd;
  1092. X  {
  1093. X  register P_CMD    *cmd_list = icmd_cmds;
  1094. X  
  1095. X***************
  1096. X*** 109,115
  1097. X  register int longest_descr = 0;
  1098. X  register int cmd_count = 0;
  1099. X  register int nl_flag = 0;
  1100. X! char    s80[80];
  1101. X  P_CMD *longest_cmd_p = 0;
  1102. X  P_CMD *longest_descr_p = 0;
  1103. X  
  1104. X
  1105. X--- 109,115 -----
  1106. X  register int longest_descr = 0;
  1107. X  register int cmd_count = 0;
  1108. X  register int nl_flag = 0;
  1109. X! char s80[80];
  1110. X  P_CMD *longest_cmd_p = 0;
  1111. X  P_CMD *longest_descr_p = 0;
  1112. X  
  1113. X***************
  1114. X*** 183,188
  1115. X  {
  1116. X  register int itmp;
  1117. X  register char *cptr;
  1118. X      printf("\nBuilding %s\n",PDAT);
  1119. X      for(itmp = 0; itmp < TOKEN_QUAN; itmp++)
  1120. X      {
  1121. X
  1122. X--- 183,189 -----
  1123. X  {
  1124. X  register int itmp;
  1125. X  register char *cptr;
  1126. X+ 
  1127. X      printf("\nBuilding %s\n",PDAT);
  1128. X  
  1129. X  /* use proc cmd entry for flag */
  1130. X***************
  1131. X*** 184,189
  1132. X  register int itmp;
  1133. X  register char *cptr;
  1134. X      printf("\nBuilding %s\n",PDAT);
  1135. X      for(itmp = 0; itmp < TOKEN_QUAN; itmp++)
  1136. X      {
  1137. X          start_pos[itmp] = 0L;
  1138. X
  1139. X--- 185,199 -----
  1140. X  register char *cptr;
  1141. X  
  1142. X      printf("\nBuilding %s\n",PDAT);
  1143. X+ 
  1144. X+ /* use proc cmd entry for flag */
  1145. X+     pcmd = icmd_cmds;
  1146. X+     while(pcmd->token != -1)
  1147. X+     {
  1148. X+         pcmd->proc = (PFI)0;
  1149. X+         pcmd++;
  1150. X+     }
  1151. X+ 
  1152. X      for(itmp = 0; itmp < TOKEN_QUAN; itmp++)
  1153. X      {
  1154. X          start_pos[itmp] = 0L;
  1155. X***************
  1156. X*** 241,246
  1157. X              fputs("   ",fpdat);
  1158. X              cptr = &buf[1];    /* command text */
  1159. X              itmp = 0;
  1160. X              while(*cptr)        /* show cmd and min chars required */
  1161. X              {
  1162. X                  if(itmp < pcmd->min)
  1163. X
  1164. X--- 251,257 -----
  1165. X              fputs("   ",fpdat);
  1166. X              cptr = &buf[1];    /* command text */
  1167. X              itmp = 0;
  1168. X+             pcmd->proc = (PFI)1;    /* indicate we save command info */
  1169. X              while(*cptr)        /* show cmd and min chars required */
  1170. X              {
  1171. X                  if(itmp < pcmd->min)
  1172. X***************
  1173. X*** 260,266
  1174. X  
  1175. X      fseek(fpdat,0L,0);    /* back to position table */
  1176. X      fwrite((char *)start_pos,sizeof(long),    /* write actual table */
  1177. X!             TOKEN_QUAN,fpdat);
  1178. X      fclose(fpsrc);
  1179. X      fputs("\n",fpdat);    /* terminate last command */
  1180. X      fclose(fpdat);
  1181. X
  1182. X--- 271,277 -----
  1183. X  
  1184. X      fseek(fpdat,0L,0);    /* back to position table */
  1185. X      fwrite((char *)start_pos,sizeof(long),    /* write actual table */
  1186. X!         TOKEN_QUAN,fpdat);
  1187. X      fclose(fpsrc);
  1188. X      fputs("\n",fpdat);    /* terminate last command */
  1189. X      fclose(fpdat);
  1190. X***************
  1191. X*** 264,269
  1192. X      fclose(fpsrc);
  1193. X      fputs("\n",fpdat);    /* terminate last command */
  1194. X      fclose(fpdat);
  1195. X  }    /* end of build_ecuhelp */
  1196. X  
  1197. X  /*+-------------------------------------------------------------------------
  1198. X
  1199. X--- 275,291 -----
  1200. X      fclose(fpsrc);
  1201. X      fputs("\n",fpdat);    /* terminate last command */
  1202. X      fclose(fpdat);
  1203. X+ 
  1204. X+ /* say which commands weren't in the help source */
  1205. X+     pcmd = icmd_cmds;
  1206. X+     while(pcmd->token != -1)
  1207. X+     {
  1208. X+         if(pcmd->min && !pcmd->proc)
  1209. X+             fprintf(stderr,"'%s' not in help source\n",pcmd->cmd);
  1210. X+         pcmd++;
  1211. X+     }
  1212. X+ 
  1213. X+ 
  1214. X  }    /* end of build_ecuhelp */
  1215. X  
  1216. X  /*+-------------------------------------------------------------------------
  1217. X***************
  1218. X*** 442,450
  1219. X      main(argc,argv,envp)
  1220. X  --------------------------------------------------------------------------*/
  1221. X  main(argc,argv,envp)
  1222. X! int        argc;
  1223. X! char    **argv;
  1224. X! char    **envp;
  1225. X  {
  1226. X  register int itmp;
  1227. X  register char *cptr;
  1228. X
  1229. X--- 464,472 -----
  1230. X      main(argc,argv,envp)
  1231. X  --------------------------------------------------------------------------*/
  1232. X  main(argc,argv,envp)
  1233. X! int argc;
  1234. X! char **argv;
  1235. X! char **envp;
  1236. X  {
  1237. X  register int itmp;
  1238. X  register char *cptr;
  1239. X***************
  1240. X*** 448,460
  1241. X  {
  1242. X  register int itmp;
  1243. X  register char *cptr;
  1244. X! int        iargv;
  1245. X! int        b_flag = 0;
  1246. X! int        s_flag = 0;
  1247. X! int        t_flag = 0;
  1248. X! int        f_flag = 0;
  1249. X! int        d_flag = 0;
  1250. X! int        n_flag = 0;
  1251. X  
  1252. X      setbuf(stdout,NULL);
  1253. X      setbuf(stderr,NULL);
  1254. X
  1255. X--- 470,482 -----
  1256. X  {
  1257. X  register int itmp;
  1258. X  register char *cptr;
  1259. X! int iargv;
  1260. X! int b_flag = 0;
  1261. X! int s_flag = 0;
  1262. X! int t_flag = 0;
  1263. X! int f_flag = 0;
  1264. X! int d_flag = 0;
  1265. X! int n_flag = 0;
  1266. X  
  1267. X      setbuf(stdout,NULL);
  1268. X      setbuf(stderr,NULL);
  1269. X*** /u4/ecurel/lint_args.h    Mon May  7 23:33:00 1990
  1270. X--- lint_args.h    Mon May 21 00:31:23 1990
  1271. X***************
  1272. X*** 85,91
  1273. X  char *help_get_cmd(void );
  1274. X  struct p_cmd *search_cmd_list_pcmd(char *);
  1275. X  void calculate_help_right_column(void );
  1276. X! void display_help_screen(void );
  1277. X  void display_help_stderr(char *);
  1278. X  void help_cmd_line_setup(char *);
  1279. X  void icmd_help(int ,char **);
  1280. X
  1281. X--- 85,91 -----
  1282. X  char *help_get_cmd(void );
  1283. X  struct p_cmd *search_cmd_list_pcmd(char *);
  1284. X  void calculate_help_right_column(void );
  1285. X! int display_help_screen(void );
  1286. X  void display_help_stderr(char *);
  1287. X  void help_cmd_line_setup(char *);
  1288. X  void icmd_help(int ,char **);
  1289. SHAR_EOF
  1290. $TOUCH -am 0523062790 ECU280.P02 &&
  1291. chmod 0644 ECU280.P02 ||
  1292. echo "restore of ECU280.P02 failed"
  1293. set `wc -c ECU280.P02`;Wc_c=$1
  1294. if test "$Wc_c" != "30384"; then
  1295.     echo original size 30384, current size $Wc_c
  1296. fi
  1297. # ============= ecucmd.h ==============
  1298. echo "x - extracting ecucmd.h (Text)"
  1299. sed 's/^X//' << 'SHAR_EOF' > ecucmd.h &&
  1300. X/* CHK=0xBB62 */
  1301. X/*+-------------------------------------------------------------------------
  1302. X    ecucmd.h -- command definitions
  1303. X    wht%n4hgf@gatech.edu
  1304. X--------------------------------------------------------------------------*/
  1305. X/*+:EDITS:*/
  1306. X/*:05-20-1990-17:56-wht@n4hgf-classify interactive commands */
  1307. X/*:05-15-1990-22:31-wht@n4hgf-add xon command */
  1308. X/*:05-07-1990-21:24-wht@n4hgf---- 2.80 --- */
  1309. X/*:04-05-1990-14:29-wht@n4hgf-sort/renumber CT tokens */
  1310. X/*:03-25-1990-14:11-wht@n4hgf------ x2.70 ------- */
  1311. X/*:03-18-1990-15:33-wht@n4hgf-add popen and pclose */
  1312. X/*:03-12-1990-04:44-wht@n4hgf-add rname */
  1313. X/*:12-21-1989-21:49-wht-add 'rtscts' */
  1314. X/*:11-20-1989-16:05-wht-add 'getf' and 'putf' */
  1315. X/*:07-03-1989-22:57-wht------ x2.00 ----- */
  1316. X/*:06-24-1989-16:53-wht-flush edits --- ecu 1.95 */
  1317. X
  1318. X/* interactive command tokens */
  1319. X
  1320. X#define CTax             1
  1321. X#define CTbaud           2
  1322. X#define CTbn             3
  1323. X#define CTbreak          4
  1324. X#define CTcd             5
  1325. X#define CTclrx           6
  1326. X#define CTda             7
  1327. X#define CTdial           8
  1328. X#define CTdo             9
  1329. X#define CTduplex        10
  1330. X#define CTexit          11
  1331. X#define CTfi            12
  1332. X#define CTfkey          13
  1333. X#define CTgetf          14
  1334. X#define CThangup        15
  1335. X#define CThelp          16
  1336. X#define CTllp           17
  1337. X#define CTloff          18
  1338. X#define CTlog           19
  1339. X#define CTnl            21
  1340. X#define CTnlin          22
  1341. X#define CTnlout         23
  1342. X#define CToa            24
  1343. X#define CTparity        25
  1344. X#define CTpcmd          26
  1345. X#define CTpid           27
  1346. X#define CTplog          28
  1347. X#define CTptrace        29
  1348. X#define CTputf          30
  1349. X#define CTpwd           31
  1350. X#define CTredial        32
  1351. X#define CTrev           33
  1352. X#define CTrk            34
  1353. X#define CTrs            35
  1354. X#define CTrtscts        36
  1355. X#define CTrx            37
  1356. X#define CTry            38
  1357. X#define CTrz            39
  1358. X#define CTsdname        40
  1359. X#define CTsgr           41
  1360. X#define CTsk            43
  1361. X#define CTss            44
  1362. X#define CTstat          45
  1363. X#define CTsx            46
  1364. X#define CTsy            47
  1365. X#define CTsz            48
  1366. X#define CTtime          50
  1367. X#define CTts            51
  1368. X#define CTtty           52
  1369. X#define CTxa            53
  1370. X#define CTxlog          54
  1371. X#define CTxon           55
  1372. X
  1373. X#define CTdummy1       120
  1374. X#define CTdummy2       121
  1375. X#define CTdummy3       122
  1376. X#define CTdummy4       123
  1377. X
  1378. X#define TOKEN_QUAN    128        /* for help package */
  1379. X
  1380. Xtypedef int (*PFI)();
  1381. X
  1382. X#if defined(HELPGEN)
  1383. X#define Z {;}
  1384. X#else
  1385. X#define Z ;
  1386. X#endif
  1387. X
  1388. Xint cmd_baud() Z
  1389. Xint cmd_break() Z
  1390. Xint cmd_cd() Z
  1391. Xint cmd_clrx() Z
  1392. Xint cmd_cls() Z
  1393. Xint cmd_color() Z
  1394. Xint cmd_continue() Z
  1395. Xint cmd_cursor() Z
  1396. Xint cmd_delline() Z
  1397. Xint cmd_dial() Z
  1398. Xint cmd_do() Z
  1399. Xint cmd_duplex() Z
  1400. Xint cmd_echo() Z
  1401. Xint cmd_eeol() Z
  1402. Xint cmd_else() Z
  1403. Xint cmd_exit() Z
  1404. Xint cmd_expresp() Z
  1405. Xint cmd_getf() Z
  1406. Xint cmd_fchmod() Z
  1407. Xint cmd_fclose() Z
  1408. Xint cmd_fgetc() Z
  1409. Xint cmd_fgets() Z
  1410. Xint cmd_fkey() Z
  1411. Xint cmd_flush() Z
  1412. Xint cmd_fopen() Z
  1413. Xint cmd_fputc() Z
  1414. Xint cmd_fputs() Z
  1415. Xint cmd_fread() Z
  1416. Xint cmd_fseek() Z
  1417. Xint cmd_fdel() Z
  1418. Xint cmd_fwrite() Z
  1419. Xint cmd_goto() Z
  1420. Xint cmd_gotob() Z
  1421. Xint cmd_hangup() Z
  1422. Xint cmd_hexdump() Z
  1423. Xint cmd_home() Z
  1424. Xint cmd_icolor() Z
  1425. Xint cmd_insline() Z
  1426. Xint cmd_ifi() Z
  1427. Xint cmd_ifs() Z
  1428. Xint cmd_lbreak() Z
  1429. Xint cmd_lgets() Z
  1430. Xint cmd_logevent() Z
  1431. Xint cmd_lookfor() Z
  1432. X/* int cmd_mkdir() Z */
  1433. Xint cmd_mkvar() Z
  1434. Xint cmd_nap() Z
  1435. Xint cmd_parity() Z
  1436. Xint cmd_pclose() Z
  1437. Xint cmd_plog() Z
  1438. Xint cmd_popen() Z
  1439. Xint cmd_prompt() Z
  1440. Xint cmd_ptrace() Z
  1441. Xint cmd_putf() Z
  1442. Xint cmd_return() Z
  1443. Xint cmd_rk() Z
  1444. Xint cmd_rname() Z
  1445. Xint cmd_rs() Z
  1446. Xint cmd_rx() Z
  1447. Xint cmd_ry() Z
  1448. Xint cmd_rz() Z
  1449. Xint cmd_scrdump() Z
  1450. Xint cmd_send() Z
  1451. Xint cmd_set() Z
  1452. Xint cmd_sk() Z
  1453. Xint cmd_ss() Z
  1454. Xint cmd_sx() Z
  1455. Xint cmd_sy() Z
  1456. Xint cmd_system() Z
  1457. Xint cmd_sz() Z
  1458. Xint cmd_vidcolor() Z
  1459. Xint cmd_vidnorm() Z
  1460. Xint cmd_vidrev() Z
  1461. Xint cmd_whilei() Z
  1462. Xint cmd_whiles() Z
  1463. Xint cmd_xon() Z
  1464. X
  1465. X/* command classification */
  1466. X#define ccG  1    /* general command */
  1467. X#define ccC  2    /* comm command */
  1468. X#define ccT  3    /* transfer command */
  1469. X#define ccP  4    /* procedure-related command */
  1470. X
  1471. Xtypedef struct p_cmd
  1472. X{ 
  1473. X    char *cmd;        /* command string */
  1474. X    short min;        /* min chars for match (0 if not interactive) */
  1475. X    short token;    /* command number (if interactive) */
  1476. X    char *descr;    /* command description (if interactive) */
  1477. X    PFI proc;        /* procedure cmd handler (or 0) */
  1478. X    short cmdclass;    /* cc{C,G,P,X} or 0 (for help processor) */
  1479. X}    P_CMD;
  1480. X
  1481. X#if !defined(DECLARE_P_CMD)
  1482. X#if defined(NEED_P_CMD)
  1483. Xextern P_CMD icmd_cmds[];
  1484. X#endif
  1485. X#else
  1486. XP_CMD icmd_cmds[] =
  1487. X{
  1488. X    { "ax",        2,CTax,        "ascii char to hex/oct/dec",    0,            ccG},
  1489. X    { "baud",    2,CTbaud,    "set/display line baud rate",    cmd_baud,    ccC},
  1490. X    { "bn",        2,CTbn,        "all console event alarm",        0,            ccG},
  1491. X    { "break",    2,CTbreak,    "send break to remote",            cmd_break,    ccC},
  1492. X    { "cd",        2,CTcd,        "change current directory",        cmd_cd,        ccG},
  1493. X    { "clrx",    2,CTclrx,    "simulate XON from remote",        cmd_clrx,    ccC},
  1494. X    { "cls",    0,0,        "",                                cmd_cls,    0  },
  1495. X    { "color",    0,0,        "",                                cmd_color,    0  },
  1496. X    { "continue",0,0,        "",                                cmd_continue,0 },
  1497. X    { "cursor",    0,0,        "",                                cmd_cursor, 0  },
  1498. X    { "da",        2,CTda,        "decimal to ascii char",        0,          ccG},
  1499. X    { "dial",    1,CTdial,    "dial remote destination",        cmd_dial,   ccC},
  1500. X    { "delline",0,0,        "",                                cmd_delline,0  },
  1501. X    { "do",        2,CTdo,        "perform procedure",            cmd_do,     ccP},
  1502. X    { "duplex",    2,CTduplex,    "set/display duplex",            cmd_duplex, ccC},
  1503. X    { "echo",    0,0,        "",                                cmd_echo,   0  },
  1504. X    { "eeol",    0,0,        "",                                cmd_eeol,   0  },
  1505. X    { "else",    0,0,        "",                                cmd_else,   0  },
  1506. X    { "exit",    2,CTexit,    "hang up, exit program",        cmd_exit,   ccG},
  1507. X    { "expresp",0,0,        "",                                cmd_expresp,0  },
  1508. X    { "fchmod",    0,0,        "",                                cmd_fchmod, 0  },
  1509. X    { "fclose",    0,0,        "",                                cmd_fclose, 0  },
  1510. X    { "fdel",    0,0,        "",                                cmd_fdel,   0  },
  1511. X    { "fgetc",    0,0,        "",                                cmd_fgetc,  0  },
  1512. X    { "fgets",    0,0,        "",                                cmd_fgets,  0  },
  1513. X    { "fi",        2,CTfi,        "send text file to line",        0,          ccG},
  1514. X    { "fkey",    2,CTfkey,    "function key definition",        cmd_fkey,   ccG},
  1515. X    { "flush",    0,0,        "",                                cmd_flush,  0  },
  1516. X    { "fopen",    0,0,        "",                                cmd_fopen,  0  },
  1517. X    { "fputc",    0,0,        "",                                cmd_fputc,  0  },
  1518. X    { "fputs",    0,0,        "",                                cmd_fputs,  0  },
  1519. X    { "fread",    0,0,        "",                                cmd_fread,  0  },
  1520. X    { "fseek",    0,0,        "",                                cmd_fseek,  0  },
  1521. X    { "fwrite",    0,0,        "",                                cmd_fwrite, 0  },
  1522. X    { "getf",    0,0,        "",                                cmd_getf,   0  },
  1523. X    { "goto",    0,0,        "",                                cmd_goto,   0  },
  1524. X    { "gotob",    0,0,        "",                                cmd_gotob,  0  },
  1525. X    { "hangup",    2,CThangup,    "hang up modem",                cmd_hangup, ccC},
  1526. X    { "help",    2,CThelp,    "invoke help",                    0,          ccG},
  1527. X    { "hexdump",0,0,        "",                                cmd_hexdump,0  },
  1528. X    { "home",    0,0,        "",                                cmd_home,   0  },
  1529. X    { "icolor",    0,0,        "",                                cmd_icolor, 0  },
  1530. X    { "ifi",    0,0,        "",                                cmd_ifi,    0  },
  1531. X    { "ifs",    0,0,        "",                                cmd_ifs,    0  },
  1532. X    { "insline",0,0,        "",                                cmd_insline,0  },
  1533. X    { "lbreak",    0,0,        "",                                cmd_lbreak, 0  },
  1534. X    { "llp",    2,CTllp,    "set session log to /dev/lp",    0,          ccG},
  1535. X    { "lgets",    0,0,        "",                                cmd_lgets,  0  },
  1536. X    { "loff",    3,CTloff,    "turn off session logging",        0,          ccG},
  1537. X    { "log",    3,CTlog,    "session logging control",        0,          ccG},
  1538. X    { "logevent",0,0,        "",                                cmd_logevent,0 },
  1539. X    { "lookfor",0,0,        "",                                cmd_lookfor,0  },
  1540. X/*    { "mkdir",    3,CTmkdir,    "mkdir <dirname>",                cmd_mkdir,  ccG}, */
  1541. X    { "mkvar",    0,0,        "",                                cmd_mkvar,  0  },
  1542. X    { "nap",    0,0,        "",                                cmd_nap,    0  },
  1543. X    { "nl",        2,CTnl,        "display CR/LF mapping",        0,          ccC},
  1544. X    { "nlin",    3,CTnlin,    "set receive CR/LF mapping",    0,          ccC},
  1545. X    { "nlout",    3,CTnlout,    "set transmit CR/LF mapping",    0,          ccC},
  1546. X    { "oa",        2,CToa,        "octal to ascii char",            0,          ccG},
  1547. X    { "parity",    3,CTparity,    "set/display line parity",        cmd_parity, ccC},
  1548. X    { "pclose",    0,0,        "",                                cmd_pclose, 0  },
  1549. X    { "pcmd",    2,CTpcmd,    "execute a procedure command",    0,          ccP},
  1550. X    { "pid",    2,CTpid,    "display process ids",            0,          ccG},
  1551. X    { "plog",    2,CTplog,    "control procedure logging",    cmd_plog,   ccP},
  1552. X    { "popen",    0,0,        "",                                cmd_popen,  0  },
  1553. X    { "prompt",    0,0,        "",                                cmd_prompt, 0  },
  1554. X    { "ptrace",    2,CTptrace,    "control procedure trace",        cmd_ptrace, ccP},
  1555. X    { "putf",    0,0,        "",                                cmd_putf,   0  },
  1556. X    { "pwd",    2,CTpwd,    "print working directory",        0,          ccG},
  1557. X    { "redial",    3,CTredial,    "redial last number",            0,          ccC},
  1558. X    { "return",    0,0,        "",                                cmd_return, 0  },
  1559. X    { "rev",    3,CTrev,    "ecu revision/make date",        0,          ccG},
  1560. X    { "rk",        2,CTrk,        "receive via C-Kermit",            cmd_rk,     ccT},
  1561. X    { "rname",    0,0,        "",                                cmd_rname,  0  },
  1562. X    { "rs",        2,CTrs,        "receive via SEAlink",            cmd_rs,     ccT},
  1563. X    { "rtscts",    3,CTrtscts,    "control RTS/CTS flow control",    0,          ccC},
  1564. X    { "rx",        2,CTrx,        "receive via XMODEM/CRC",        cmd_rx,     ccT},
  1565. X    { "ry",        2,CTry,        "receive via YMODEM Batch",        cmd_ry,     ccT},
  1566. X    { "rz",        2,CTrz,        "receive via ZMODEM/CRC32",        cmd_rz,     ccT},
  1567. X    { "scrdump",0,0,        "",                                cmd_scrdump,0  },
  1568. X    { "sdname",    3,CTsdname,    "select screen dump name",        0,          ccC},
  1569. X    { "send",    0,0,        "",                                cmd_send,   0  },
  1570. X    { "set",    0,0,        "",                                cmd_set,    0  },
  1571. X    { "sgr",    2,CTsgr,    "send command/get response",    0,          ccC},
  1572. X    { "sk",        2,CTsk,        "send via C-Kermit",            cmd_sk,     ccT},
  1573. X    { "ss",        2,CTss,        "send via SEAlink",                cmd_ss,     ccT},
  1574. X    { "stat",    2,CTstat,    "general status",                0,          ccG},
  1575. X    { "sx",        2,CTsx,        "send via XMODEM/CRC",            cmd_sx,     ccT},
  1576. X    { "sy",        2,CTsy,        "send via YMODEM Batch",        cmd_sy,     ccT},
  1577. X    { "system",    0,CTsy,        "",                                cmd_system, 0  },
  1578. X    { "sz",        2,CTsz,        "send via ZMODEM/CRC32",        cmd_sz,     ccT},
  1579. X    { "time",    2,CTtime,    "time of day",                    0,          ccG},
  1580. X    { "ts",        2,CTts,        "termio display",                0,          ccC},
  1581. X    { "tty",    2,CTtty,    "console tty name",                0,          ccG},
  1582. X    { "vidcolor",0,0,        "",                                cmd_vidcolor,0 },
  1583. X    { "vidnorm",0,0,        "",                                cmd_vidnorm,0  },
  1584. X    { "vidrev",    0,0,        "",                                cmd_vidrev, 0  },
  1585. X    { "whilei",    0,0,        "",                                cmd_whilei, 0  },
  1586. X    { "whiles",    0,0,        "",                                cmd_whiles, 0  },
  1587. X    { "xa",        2,CTxa,        "hex to ascii char",            0,          ccG},
  1588. X    { "xlog",    2,CTxlog,    "protocol packet logging",        0,          ccT},
  1589. X    { "xon",    2,CTxon,    "control xon/xoff flow control",cmd_xon,    ccC},
  1590. X/* these cmds are interecepted by special code in ecucmd.h and appear
  1591. X * here only so they will be picked up by the help system.
  1592. X */
  1593. X    { "!",        1,CTdummy1,    "execute shell (tty)",            0,          ccG},
  1594. X    { "$",        1,CTdummy2,    "execute shell (comm line)",    0,          ccG},
  1595. X    { "-",        1,CTdummy3,    "execute program",                0,          ccG},
  1596. X    { "?",        1,CTdummy4,    "get help",                        0,          ccG},
  1597. X    { "",        0,-1,"",0,0 }    /* list ends with token value of -1 */
  1598. X};
  1599. X#endif
  1600. X
  1601. X/* end of ecucmd.h */
  1602. X/* vi: set tabstop=4 shiftwidth=4: */
  1603. SHAR_EOF
  1604. $TOUCH -am 0521014290 ecucmd.h &&
  1605. chmod 0644 ecucmd.h ||
  1606. echo "restore of ecucmd.h failed"
  1607. set `wc -c ecucmd.h`;Wc_c=$1
  1608. if test "$Wc_c" != "10682"; then
  1609.     echo original size 10682, current size $Wc_c
  1610. fi
  1611. exit 0
  1612.  
  1613.