home *** CD-ROM | disk | FTP | other *** search
/ The Arcade BBS / arcadebbs.zip / arcadebbs / bbstools / MODS / 424AFIX2.MOD < prev    next >
Encoding:
Text File  |  1995-08-09  |  40.7 KB  |  1,448 lines

  1. v4.24a diffs [1/2]:
  2. Random #1 @1
  3.  
  4.  
  5. diff -ub 424/BBS.C 424a/BBS.C
  6. --- 424/BBS.C    Thu May 11 17:43:26 1995
  7. +++ 424a/BBS.C    Sat Jul 15 10:02:26 1995
  8. @@ -294,7 +294,7 @@
  9.              usernum=1;
  10.              holdphone(1);
  11.              okskey=1;
  12. -            prt(2,get_string(7));
  13. +            prt(2,get_string(44));
  14.              input(s,50);
  15.              load_workspace(s,0);
  16.              send_email();
  17. diff -ub 424/BBSOVL3.C 424a/BBSOVL3.C
  18. --- 424/BBSOVL3.C    Tue Apr 25 19:34:48 1995
  19. +++ 424a/BBSOVL3.C    Sun May 28 06:08:38 1995
  20. @@ -497,7 +497,6 @@
  21.    long fl;
  22.  
  23.  
  24. -  if(stats) stats=0;
  25.    if(stats) outstr(get_string(1484));
  26.  
  27.    if ((strcmp(input, output) != 0) && (exist(input)) && (!exist(output)))
  28. diff -ub 424/BBSUTL.C 424a/BBSUTL.C
  29. --- 424/BBSUTL.C    Tue Apr 25 19:34:46 1995
  30. +++ 424a/BBSUTL.C    Sun Jun 25 08:08:28 1995
  31. @@ -851,8 +851,11 @@
  32.    if (db)
  33.      s1[i]=0;
  34.    chdir(s1);
  35. -  if (s[1]==':')
  36. +  if (s[1]==':') {
  37.      setdisk(s[0]-'A');
  38. +    if (s[2]==0)
  39. +      chdir("\\");
  40. +  }
  41.  }
  42.  
  43.  void get_dir(char *s, int be)
  44. diff -ub 424/BBSUTL1.C 424a/BBSUTL1.C
  45. --- 424/BBSUTL1.C    Fri May 12 10:07:32 1995
  46. +++ 424a/BBSUTL1.C    Wed Jun 28 05:42:14 1995
  47. @@ -462,6 +462,8 @@
  48.        --i;
  49.      s[i]=0;
  50.      un=atoi(s);
  51. +    if (strchr(s,'@'))
  52. +      un=0;
  53.      sy=atoi(ss);
  54.      ss1=strchr(ss,'.');
  55.      if (ss1)
  56. diff -ub 424/COM.C 424a/COM.C
  57. --- 424/COM.C    Sat May 20 13:26:26 1995
  58. +++ 424a/COM.C    Tue May 30 18:57:16 1995
  59. @@ -1552,7 +1552,7 @@
  60.    ansic(1);
  61.    if (menu_on() && rip_popup && (!rip_subset)) {
  62.      outstr("s\r");
  63. -    printmenu(330);
  64. +        printmenu(336);
  65.    }
  66.    while ((!hangup) &&
  67.           ((ch = upcase(getkey())) != *str_yes) &&
  68. diff -ub 424/CONIO.C 424a/CONIO.C
  69. --- 424/CONIO.C    Tue Apr 25 19:34:36 1995
  70. +++ 424a/CONIO.C    Sun Jun 25 07:46:00 1995
  71. @@ -848,10 +848,13 @@
  72.                sysinfo.flags &= ~OP_FLAGS_RIPDRIVE_ON;
  73.                rd_disable();
  74.              } else if (ripdrive) {
  75. -              printf("\a");
  76.                sysinfo.flags |= OP_FLAGS_RIPDRIVE_ON;
  77.                localrip_activate(sysinfo.ripdir, sysinfo.ripdir);
  78.                cleared = NEEDCLEAR;
  79. +            } else if (localrip_detect()) {
  80. +              sysinfo.flags |= OP_FLAGS_RIPDRIVE_ON;
  81. +              nl();
  82. +              pl(get_string(1641));
  83.              }
  84.              break;
  85.  #endif
  86. diff -ub 424/DEFAULTS.C 424a/DEFAULTS.C
  87. --- 424/DEFAULTS.C    Fri May 12 09:36:50 1995
  88. +++ 424a/DEFAULTS.C    Sat Jul 15 07:39:28 1995
  89. @@ -125,10 +125,8 @@
  90.      ansic_x(1); outstr(get_string(1493));
  91.      ansic_x(2); pl((thisuser.sysstatus & sysstatus_no_msgs)?str_no:str_yes);
  92.    }
  93. -  if (rip) {
  94.      ansic_x(1); outstr(get_string(1494));
  95.      ansic_x(2); pl((thisuser.sysstatus & sysstatus_disable_rip)?str_no:str_yes);
  96. -  }
  97.    ansic_x(1); pl(get_string(403));
  98.  }
  99.  
  100. @@ -386,7 +384,7 @@
  101.        abort=0;
  102.        strcpy(s1," ");
  103.        nl();
  104. -      pl(get_string(1150));
  105. +      pl(get_string(1081));
  106.        nl();
  107.        i=0;
  108.        while ((i<subconfnum) && (uconfsub[i].confnum!=-1) && (!abort)) {
  109. @@ -766,6 +764,7 @@
  110.          break;
  111.        case '3':
  112.          thisuser.sysstatus ^= sysstatus_pause_on_page;
  113. +        if (menu_on()==0)
  114.          print_cur_stat();
  115.          break;
  116.        case '4':
  117. @@ -788,6 +787,7 @@
  118.          break;
  119.        case 'A':
  120.          thisuser.sysstatus ^= sysstatus_extra_color;
  121. +        if (menu_on()==0)
  122.          print_cur_stat();
  123.          break;
  124.        case 'B':
  125. @@ -796,6 +796,7 @@
  126.        case 'C':
  127.          thisuser.sysstatus ^= sysstatus_conference;
  128.          changedsl();
  129. +        if (menu_on()==0)
  130.          print_cur_stat();
  131.          break;
  132.        case 'W':
  133. @@ -815,14 +816,12 @@
  134.          }
  135.          break;
  136.        case 'R':
  137. -        if (rip) {
  138.            thisuser.sysstatus &= ~sysstatus_disable_rip;
  139.            nl();
  140.            prt(5, get_string(1496));
  141.            if (!yn()) {
  142.              thisuser.sysstatus |= sysstatus_disable_rip;
  143.              rip_cls();
  144. -          }
  145.          }
  146.          break;
  147.      }
  148. diff -ub 424/EXTRN1.C 424a/EXTRN1.C
  149. --- 424/EXTRN1.C    Sat May 06 12:46:06 1995
  150. +++ 424a/EXTRN1.C    Sat Jun 17 08:15:32 1995
  151. @@ -215,7 +215,14 @@
  152.  
  153.    /* make shrink files, if needed */
  154.    if (eflags & EFLAG_FILES) {
  155. +    if (eflags & EFLAG_NOPAUSE) {
  156. +      osysstatus=thisuser.sysstatus;
  157. +      thisuser.sysstatus &= ~sysstatus_pause_on_page;
  158.      save_state(0, eflags&EFLAG_ABORT, restorefn, statfn);
  159. +      thisuser.sysstatus=osysstatus;
  160. +    } else {
  161. +      save_state(0, eflags&EFLAG_ABORT, restorefn, statfn);
  162. +    }
  163.    }
  164.  
  165.    /* extra processing for net programs */
  166. diff -ub 424/LILO.C 424a/LILO.C
  167. --- 424/LILO.C    Fri May 12 09:31:36 1995
  168. +++ 424a/LILO.C    Sun Jun 25 08:02:36 1995
  169. @@ -70,6 +70,8 @@
  170.    long l;
  171.    FILE *f;
  172.  
  173. +  write_inst(INST_LOC_GETUSER, 0, INST_FLAGS_NONE);
  174. +
  175.    net_only=1;
  176.    if (syscfg.netlowtime!=syscfg.nethightime) {
  177.      if (syscfg.nethightime>syscfg.netlowtime) {
  178. @@ -138,9 +140,9 @@
  179.  
  180.        outstr(get_string(356));
  181.        if (rip) {
  182. -        if (rip_subset) {
  183. +        if (rip_subset || (count>0)) {
  184.            printmenu(353);
  185. -          pl("");
  186. +          pl("\x1b[30;47m");
  187.          } else {
  188.            sprintf(s,"\1|1\x1b""0000$%s_ID$^m|#\r ", sysinfo.ripbbsid);
  189.            comstr(s);
  190. @@ -156,7 +158,7 @@
  191.        }
  192.  
  193.        input(s,30);
  194. -      if (rip && rip_subset) {
  195. +      if (rip && (rip_subset || (count>0))) {
  196.          rip_rtwpcb();
  197.          comstr("\x1b[37;40m");
  198.          comnl(get_string(1435));
  199. @@ -169,8 +171,10 @@
  200.  #endif
  201.  
  202.      usernum=finduser(s);
  203. -    if ((net_only) && (usernum!=-2))
  204. +        if (net_only && (usernum!=-2)) {
  205. +          if ((usernum!=-4) || (strcmp(s,"DNM")))
  206.        usernum=0;
  207. +        }
  208.      if (usernum>0) {
  209.        read_user(usernum,&thisuser);
  210.        read_qscn(usernum,qsc,0);
  211. @@ -233,9 +237,9 @@
  212.            } 
  213.            echo=0;
  214.            input(s2,4);
  215. -                  if (rip_on() && rip_subset) {
  216. +                  if (rip_on() && (rip_subset || (count>0))) {
  217.              rip_rtwpcb();
  218. -            comstr("");
  219. +                        comstr("\x1b[37;40m");
  220.              comnl(get_string(1437));     //ripstring(3));
  221.            }
  222.  #ifdef RIPDRIVE
  223. diff -ub 424/MENUSLCL.MSG 424a/MENUSLCL.MSG
  224. --- 424/MENUSLCL.MSG    Fri Mar 03 17:04:04 1995
  225. +++ 424a/MENUSLCL.MSG    Sat May 20 14:25:24 1995
  226. @@ -8,6 +8,9 @@
  227.  !|#
  228.  `335==========================================================================
  229.  !|#
  230. +`336==========================================================================
  231. +!|10((*Your Choice:::N@_N_o,Y@_Y_es))
  232. +!|#
  233.  `350==========================================================================
  234.  !|*|c00|S0107|1B00000000LC0100000B01090000000B000000|1U0101HQ0S0000
  235.  !|1B00000000LC0100000F080700000007000000|1U030XHO9M0000
  236. diff -ub 424/MENUSSOF.MSG 424a/MENUSSOF.MSG
  237. --- 424/MENUSSOF.MSG    Fri Mar 17 19:20:22 1995
  238. +++ 424a/MENUSSOF.MSG    Sat May 20 14:32:18 1995
  239. @@ -306,23 +306,27 @@
  240.  `330==========================================================================
  241.  !|c00|S0107|1B00000000LC0100000B090300000007000000
  242.  !|1UD09BHR9P0000|1B00000202ZM01080F0F080700000807000000|Y00000100
  243. -!|1UG09CGP9N3D00<>Yes<>Y|1UGU9CHG9N3200<>No<>N|c09|@D39EYour Choice:|#|#|#
  244. +!|1UG09CGP9N2H20<>Yes<>Y|1UGU9CHG9N2600<>No<>N|c09|@D39EYour Choice:|#|#|#
  245.  `331==========================================================================
  246.  !|c00|S0107|1B00000000LC0100000B090300000007000000
  247.  !|1UC09BHR9P0000|1B00000202ZM01080F0F080700000807000000|Y00000100
  248. -!|1UG09CGP9N3D00<>Yes<>Y|1UGU9CHG9N3200<>No<>N
  249. +!|1UG09CGP9N2H20<>Yes<>Y|1UGU9CHG9N2600<>No<>N
  250.  !|1B00000202ZQ010F040F08040000040C000000
  251. -!|1UEV9CFU9N3500<>Quit<>Q|c09|@C39EYour Choice:|#|#|#
  252. +!|1UEV9CFU9N2900<>Quit<>Q|c09|@C39EYour Choice:|#|#|#
  253.  `332==========================================================================
  254.  !|c00|S0107|1B00000000LC0100000B090300000007000000
  255.  !|1UF29BHR9P0000|1B00000202ZM01080F0F080700000807000000|Y00000100
  256. -!|1UF59CHO9N0000<>Continue<>C|#|#|#
  257. +!|1UF59CHO9N1V00<>Continue<>C|#|#|#
  258.  `333==========================================================================
  259.  !|1K|c00|S0100|BBZ9AHS9Q|#|#|#
  260.  `334==========================================================================
  261.  !|1K|*|c07|W00|=00000001|w000B271610|#
  262.  `335==========================================================================
  263.  !|1K|c00|S0100|BBZ9AHS9Q|#|#|#
  264. +`336==========================================================================
  265. +!|c00|S0107|1B00000000LC0100000B090300000007000000
  266. +!|1UD09BHR9P0000|1B00000202ZM01080F0F080700000807000000|Y00000100
  267. +!|1UG09CGP9N2620<>No<>N|1UGU9CHG9N2H00<>Yes<>Y|c09|@D39EYour Choice:|#|#|#
  268.  `340==========================================================================
  269.  !|10$ETW$^M|#
  270.  `351==========================================================================
  271. diff -ub 424/MINIESM.C 424a/MINIESM.C
  272. --- 424/MINIESM.C    Tue Apr 25 19:34:12 1995
  273. +++ 424a/MINIESM.C    Tue Jul 11 18:53:14 1995
  274. @@ -109,11 +109,12 @@
  275.  
  276.  /****************************************************************************/
  277.  
  278. -void descr_str(FILE *f, char *s)
  279. +void descr_str(FILE *f, unsigned char *s)
  280.  {
  281.    putc('\"', f);
  282.    for (; *s; s++) {
  283. -    if ((*s>=' ') && (*s<='~')) {
  284. +    /* if ((*s>=' ') && (*s<='~')) { */
  285. +    if (*s>=' ') {
  286.        if ((*s=='"') || (*s=='\\'))
  287.          putc('\\', f);
  288.        putc(*s, f);
  289. diff -ub 424/MISCCMD.C 424a/MISCCMD.C
  290. --- 424/MISCCMD.C    Fri May 12 16:18:46 1995
  291. +++ 424a/MISCCMD.C    Fri Jul 21 17:18:34 1995
  292. @@ -579,9 +579,11 @@
  293.      }
  294.    }
  295.    pla(s1,&abort);
  296. -  if (abort)
  297. +  if (abort) {
  298.      if (num>0)
  299.        num--;
  300. +    nln(2);
  301. +  }
  302.    npr("1%d 2%s.\r\n",num,(num==1) ? get_string(1630) : get_string(1631));
  303.  }
  304.  
  305. diff -ub 424/MMENU.C 424a/MMENU.C
  306. --- 424/MMENU.C    Sat May 27 05:01:46 1995
  307. +++ 424a/MMENU.C    Thu Jul 27 06:49:10 1995
  308. @@ -224,14 +224,23 @@
  309.        if (checkpw()) {
  310.          write_inst(INST_LOC_DOS,0,INST_FLAGS_NONE);
  311.          sysoplog(get_stringx(1,6));
  312. +#ifdef RIPDRIVE
  313. +        if (rd_on())
  314. +          localrip_deactivate();
  315. +#endif
  316.          extern_prog(getenv("COMSPEC"), EFLAG_SHRINK|EFLAG_COMIO|EFLAG_ABORT);
  317. +#ifdef RIPDRIVE
  318. +        if (rd_on())
  319. +          localrip_deactivate();
  320. +#endif
  321. +        topscreen();
  322.        }
  323.      }
  324.      if ((strcmp(s,"EDIT")==0)) {
  325.        if (checkpw()) {
  326.          write_inst(INST_LOC_TEDIT,0,INST_FLAGS_NONE);
  327.          nl();
  328. -        prt(2,get_string(7));
  329. +        prt(2,get_string(44));
  330.          input(s1,50);
  331.          if (s1[0]) {
  332.            if ((okansi()) && (thisuser.defed))
  333. @@ -248,7 +257,7 @@
  334.      }
  335.      if (strcmp(s,"LOAD")==0) {
  336.        nl();
  337. -      prt(2,get_string(7));
  338. +      prt(2,get_string(44));
  339.        input(s1,50);
  340.        if (s1[0]) {
  341.          nl();
  342. @@ -306,7 +315,7 @@
  343.                   syscfg.qscn_len - 4*(1+((max_dirs+31)/32)+((max_subs+31)/32)));
  344.            write_qscn(i, qsc, 1);
  345.          }
  346. -        read_qscn(1, qsc, 0);
  347. +        read_qscn(usernum, qsc, 0);
  348.          close_qscn();
  349.        }
  350.      }
  351. @@ -467,12 +476,12 @@
  352.        outstr(get_string(1324));
  353.        if (ny())
  354.          batchdl(1);
  355. -      else
  356.          hangup=1;
  357.      } else
  358.        hangup=1;
  359.    }
  360. -  if (strcmp(s,"/R")==0) {
  361. +  if ((strcmp(s,"/R")==0) && (sysinfo.flags & OP_FLAGS_RIP_SUPPORT)) {
  362. +    thisuser.sysstatus &= ~sysstatus_disable_rip;
  363.      if (using_modem) {
  364.        rip = rip_check();
  365.        if (rip_on()) {
  366. @@ -492,10 +501,6 @@
  367.              && !(thisuser.sysstatus & sysstatus_disable_rip)) {
  368.            if (rip_on()==0)
  369.              localrip_activate(sysinfo.ripdir, sysinfo.ripdir);
  370. -          strcpy(sysinfo.ripdir,languagedir);
  371. -          pos = strlen(sysinfo.ripdir) - 2;
  372. -          while ((sysinfo.ripdir[--pos] != '\\') && pos >= 0);  /* Find first \ */
  373. -          sysinfo.ripdir[++pos] = 0;
  374.            strcat(sysinfo.ripdir, "RIPMENUS\\");
  375.            rip = -1;
  376.            ripdrive = -1;
  377. @@ -984,7 +989,7 @@
  378.    if (strcmp(s,"/A")==0) {
  379.      nl();
  380.      ac=0;
  381. -    if ((uconfsub[1].confnum!=-1) && (okconf(&thisuser))) {
  382. +    if ((uconfdir[1].confnum!=-1) && (okconf(&thisuser))) {
  383.        ac=1;
  384.        tmp_disable_conf(1);
  385.      }
  386. @@ -1013,7 +1018,6 @@
  387.        outstr(get_string(1324));
  388.        if (ny())
  389.          batchdl(1);
  390. -      else
  391.          hangup=1;
  392.      } else
  393.        hangup=1;
  394. @@ -1108,7 +1112,7 @@
  395.        ch=onek("Q12");
  396.        nl();
  397.        if (ch!='Q') {
  398. -        outstr(get_string(7));
  399. +        outstr(get_string(44));
  400.          inputl(s2,80);
  401.          switch(ch) {
  402.            case '1': i2=2; break;
  403. @@ -1134,7 +1138,15 @@
  404.      if (strcmp(s,"DOS")==0) {
  405.        if (checkpw()) {
  406.          sysoplog(get_stringx(1,6));
  407. +#ifdef RIPDRIVE
  408. +        if (rd_on())
  409. +          localrip_deactivate();
  410. +#endif
  411.          extern_prog(getenv("COMSPEC"), EFLAG_SHRINK|EFLAG_COMIO|EFLAG_ABORT);
  412. +#ifdef RIPDRIVE
  413. +        if (rd_on())
  414. +          localrip_deactivate();
  415. +#endif
  416.          topscreen();
  417.        }
  418.      }
  419. diff -ub 424/MODEM.C 424a/MODEM.C
  420. --- 424/MODEM.C    Tue Apr 25 19:34:08 1995
  421. +++ 424a/MODEM.C    Tue Jul 25 17:14:06 1995
  422. @@ -226,11 +226,17 @@
  423.      initport(syscfgovr.primaryport);
  424.      pr1(is);
  425.      dump();
  426. -    if (mode_switch(5.0,0)==mode_norm) {
  427. +    if (mode_switch(3.0,0)==mode_norm) {
  428.        done=1;
  429.      } else {
  430.        ++i;
  431. -      sprintf(s,"(%d)...",modem_mode);
  432. +      switch(modem_mode) {
  433. +      case 0: strcpy(s, "(No Response)..."); break;
  434. +      case mode_ring: strcpy(s, "(Ring)..."); break;
  435. +      case mode_dis: strcpy(s, "(Disconnect)..."); break;
  436. +      case mode_err: strcpy(s, "(Error)..."); break;
  437. +      default: sprintf(s,"(%d)...",modem_mode); break;
  438. +      }
  439.        outs(s);
  440.      }
  441.      if (i>5)
  442. diff -ub 424/MSGBASE.C 424a/MSGBASE.C
  443. --- 424/MSGBASE.C    Sun May 14 12:01:16 1995
  444. +++ 424a/MSGBASE.C    Fri Jul 14 18:25:58 1995
  445. @@ -567,6 +567,7 @@
  446.       else {
  447.         sprintf(s,"%sEDIT%d.RIP",languagedir,thisuser.defed);
  448.         ripcode = 1;
  449. +       if (exist(s))
  450.         maybeprint(s,2);
  451.         ripcode = 0;
  452.       }
  453. @@ -881,6 +882,8 @@
  454.      if (fsed) {
  455.        i5=sh_open1(fnx,O_RDONLY | O_BINARY);
  456.        l1=filelength(i5);
  457. +      if (l1>32760)
  458. +        l1=32760;
  459.      } else {
  460.        l1=0;
  461.        for (i5=0; i5<curli; i5++) {
  462. @@ -938,7 +941,7 @@
  463.          sprintf(s,"%s%s", get_string(1509), irt_sub);
  464.          addline(b,s,&l1);
  465.        }
  466. -      if (irt_name[0]) {
  467. +      if (irt_name[0] && strcmp(aux, "EMAIL")) {
  468.          sprintf(s,"%s%s",get_string(941),irt_name);
  469.          addline(b,s,&l1);
  470.        }
  471. @@ -1134,7 +1137,7 @@
  472.    mailrec m,m1;
  473.    net_header_rec nh;
  474.    int f,len,i,i1;
  475. -  char *b,*b1,s[256],s2[200],s1[200];
  476. +  char *b,*b1,s[256],s1[200];
  477.    long len1;
  478.    userrec ur;
  479.  
  480. @@ -1237,7 +1240,6 @@
  481.      bbsfree(b);
  482.      bbsfree(b1);
  483.    }
  484. -  s2[0]=0;
  485.    strcpy(s,get_string(647));
  486.    if (sy==0) {
  487.      read_user(un,&ur);
  488. @@ -1260,14 +1262,14 @@
  489.    } else {
  490.      if (net_num_max>1) {
  491.        if (un==0)
  492. -        sprintf(s1,"%s %s @%u",net_name, net_email_name,sy);
  493. +        sprintf(s1,"%s @%u.%s",net_email_name, sy, net_name);
  494.        else
  495. -        sprintf(s1,"%s %u @%u",net_name, un,sy);
  496. +        sprintf(s1,"#%u @%u.%s", un, sy, net_name);
  497.      } else {
  498.        if (un==0)
  499.          sprintf(s1,"%s @%u",net_email_name,sy);
  500.        else
  501. -        sprintf(s1,"%u @%u",un,sy);
  502. +        sprintf(s1,"#%u @%u",un,sy);
  503.      }
  504.      strcat(s,s1);
  505.      sysoplog(s);
  506. @@ -1291,8 +1293,6 @@
  507.    if (!wfc)
  508.      topscreen();
  509.    pl(s);
  510. -  if (s2[0])
  511. -    pl(s2);
  512.  }
  513.  
  514.  
  515. @@ -1409,14 +1409,14 @@
  516.    } else {
  517.      if (net_num_max>1) {
  518.        if (un==0)
  519. -        sprintf(s2,"%s %s @%u",net_name, net_email_name,sy);
  520. +        sprintf(s2,"%s @%u.%s", net_email_name, sy, net_name);
  521.        else
  522. -        sprintf(s2,"%s %u @%u",net_name, un,sy);
  523. +        sprintf(s2,"#%u @%u.%s", un, sy, net_name);
  524.      } else {
  525.        if (un==0)
  526.          sprintf(s2,"%s @%u",net_email_name,sy);
  527.        else
  528. -        sprintf(s2,"%u @%u",un,sy);
  529. +        sprintf(s2,"#%u @%u",un,sy);
  530.      }
  531.    }
  532.    outstr(get_string(653));
  533. @@ -1677,6 +1677,9 @@
  534.    } else {
  535.      g_flags &= ~g_flag_disable_mci;
  536.    }
  537. +#ifdef RIPDRIVE
  538. +  rd_coff();
  539. +#endif
  540.    nl();
  541.    p=0;
  542.    p1=0;
  543. @@ -1863,6 +1866,9 @@
  544.    if ((ansi) && (topdata) && (useron))
  545.      topscreen();
  546.    g_flags &= ~g_flag_disable_mci;
  547. +#ifdef RIPDRIVE
  548. +  rd_con();
  549. +#endif
  550.  }
  551.  
  552.  
  553. diff -ub 424/MSGBASE1.C 424a/MSGBASE1.C
  554. --- 424/MSGBASE1.C    Wed May 17 06:43:16 1995
  555. +++ 424a/MSGBASE1.C    Sat Jul 15 10:02:56 1995
  556. @@ -772,7 +772,7 @@
  557.                  if (!so())
  558.                    break;
  559.                  nl();
  560. -                prt(2,get_string(7));
  561. +                prt(2,get_string(44));
  562.                  input(s,50);
  563.                  if (s[0]) {
  564.                    nl();
  565. diff -ub 424/MULTINST.C 424a/MULTINST.C
  566. --- 424/MULTINST.C    Sun May 21 16:59:48 1995
  567. +++ 424a/MULTINST.C    Sun Jun 25 07:42:58 1995
  568. @@ -213,6 +213,9 @@
  569.      case INST_LOC_QWK:
  570.        sprintf(s1,"%-25.25s",get_string(1639));
  571.        break;
  572. +    case INST_LOC_GETUSER:
  573. +      sprintf(s1,"%-25.25s",get_string(1640));
  574. +      break;
  575.      case INST_LOC_WFC:
  576.        sprintf(s1,"%-25.25s",get_string(1402));
  577.        break;
  578. diff -ub 424/NETSUP.C 424a/NETSUP.C
  579. --- 424/NETSUP.C    Sun May 21 06:41:02 1995
  580. +++ 424a/NETSUP.C    Wed Jun 28 05:48:38 1995
  581. @@ -1037,12 +1037,21 @@
  582.          if ((on[0]==0) && (nh->fromuser==0)) {
  583.            strcpy(on,nm+i);
  584.          }
  585. +        if (status.net_version>=35) {
  586. +          if (on[0])
  587. +            sprintf(newname, "%s%s@%u.%s\r\n", qn, on, nh->fromsys,
  588. +                    net_networks[fnn].name);
  589. +          else
  590. +            sprintf(newname, "%s#%u@%u.%s\r\n", qn, nh->fromuser, nh->fromsys,
  591. +                    net_networks[fnn].name);
  592. +        } else {
  593.          if (on[0])
  594.            sprintf(newname,"%s%s %s AT %u\r\n",qn, net_networks[fnn].name,
  595.                    on, nh->fromsys);
  596.          else
  597.            sprintf(newname,"%s%s #%u AT %u\r\n",qn, net_networks[fnn].name,
  598.                    nh->fromuser, nh->fromsys);
  599. +        }
  600.  
  601.          nh->fromsys=net_networks[nn].sysnum;
  602.          nh->fromuser=0;
  603. diff -ub 424/NEWUSER.C 424a/NEWUSER.C
  604. --- 424/NEWUSER.C    Sat May 06 07:52:08 1995
  605. +++ 424a/NEWUSER.C    Sat Jul 01 06:53:08 1995
  606. @@ -1064,11 +1064,13 @@
  607.    char s[81];
  608.    userrec u;
  609.  
  610. +  if (phone[0]) {
  611.    npr(get_string(1524));
  612.    for (i=0;i<status.users;i++) {
  613.      if ((i % 10)==0)
  614.        outstr("3.0");
  615.      read_user(i,&u);
  616. +      if (!(u.inact & inact_deleted)) {
  617.      if ((strcmp(phone,u.phone)==0) || (strcmp(phone,u.dataphone)==0)) {
  618.        if ((i!=usernum) && (strcmp(thisuser.name,u.name)!=0)
  619.          && (u.inact & inact_deleted)) {
  620. @@ -1079,6 +1081,8 @@
  621.          sl1(0,s);
  622.          ssm(1,0,s);
  623.          dupe=1;
  624. +          }
  625. +        }
  626.        }
  627.      }
  628.    }
  629. diff -ub 424/QWK.C 424a/QWK.C
  630. --- 424/QWK.C    Fri May 12 16:27:40 1995
  631. +++ 424a/QWK.C    Wed Jul 12 07:08:20 1995
  632. @@ -1007,7 +1007,7 @@
  633.    qwk_percent=0.0;
  634.    qwk_bi_mode=0;
  635.  
  636. -  while(!done)
  637. +  while(!done && !hangup)
  638.    {
  639.      if (rip_on()) {
  640.        if (so())
  641. @@ -1647,7 +1647,7 @@
  642.          qwk_info->abort=1;
  643.      }
  644.    }
  645. -  else while(!done)
  646. +  else while(!done && !hangup)
  647.    {
  648.      char new_dir[61];
  649.      char nfile[81];
  650. diff -ub 424/QWK1.C 424a/QWK1.C
  651. --- 424/QWK1.C    Sat May 27 05:06:40 1995
  652. +++ 424a/QWK1.C    Wed Jul 12 07:07:20 1995
  653. @@ -550,9 +550,9 @@
  654.        if (net_num_max>1)
  655.        {
  656.          if (un==0)
  657. -          sprintf(s2,"%s %s @%u",net_name, net_email_name,sy);
  658. +          sprintf(s2,"%s @%u.%s",net_email_name,sy, net_name);
  659.          else
  660. -          sprintf(s2,"%s %u @%u",net_name, un,sy);
  661. +          sprintf(s2,"%u @%u.%s", un, sy, net_name);
  662.        }
  663.        else
  664.        {
  665. @@ -825,14 +825,14 @@
  666.    char user_name[101];
  667.  
  668.  
  669. -  while(!done)
  670. +  while(!done && !hangup)
  671.    {
  672.      if(pass>0)
  673.      {
  674.        int done5=0;
  675.        char substr[5];
  676.  
  677. -      while(!done5)
  678. +      while(!done5 && !hangup)
  679.        {
  680.          nl();
  681.          outstr(get_string(1570));
  682. @@ -862,7 +862,7 @@
  683.      cursub=sub;
  684.  
  685.      // Busy files... allow to retry
  686. -    while(1)
  687. +    while(!hangup)
  688.      {
  689.        if (!qwk_iscan_literal(cursub))
  690.        {
  691. @@ -979,7 +979,7 @@
  692.    {
  693.      char s[201];
  694.  
  695. -    while(1)
  696. +    while(!hangup)
  697.      {
  698.        f=qwk_iscan_literal(curlsub);
  699.  
  700. @@ -1216,7 +1216,7 @@
  701.    int x, abort=0, key, done=0;
  702.    char s[101], t[101];
  703.  
  704. -  while(!done)
  705. +  while(!done && !hangup)
  706.    {
  707.      nl();
  708.      outstr(get_string(1586));
  709. @@ -1283,7 +1283,7 @@
  710.        case '?':
  711.          abort=0;
  712.          x=0;
  713. -        while(x<qwk_cfg->amount_blts && !abort)
  714. +        while(x<qwk_cfg->amount_blts && !abort && !hangup)
  715.          {
  716.            npr("[%d] %s %s", x+1, qwk_cfg->bltname[x], get_string(1592));
  717.            nl();
  718. @@ -1305,7 +1305,7 @@
  719.    int done=0, key;
  720.  
  721.  
  722. -  while(!done)
  723. +  while(!done && !hangup)
  724.    {
  725.      npr(get_string(1593));
  726.      npr(qwk_current_text(0, text));
  727. @@ -1427,7 +1427,7 @@
  728.    int done=0, key;
  729.  
  730.  
  731. -  while(!done)
  732. +  while(!done && !hangup)
  733.    {
  734.      printmenu(367);
  735.  
  736.  
  737.  
  738. diff -ub 424/READ.ME 424a/READ.ME
  739. --- 424/READ.ME    Sun May 21 12:53:18 1995
  740. +++ 424a/READ.ME    Mon Jul 31 06:28:20 1995
  741. @@ -127,7 +127,7 @@
  742.  The authorized source distribution systems are:
  743.  
  744.  Node #  Name                    Phone #         Modem type              State
  745. -1       Amber                   310-798-9993    28.8+HST                CA
  746. +1       Amber                    310-798-9993    33.6+HST                CA
  747.                                  310-798-8283    14.4+HST
  748.  4       Caesar's Palace         805-494-3003    14.4+HST                CA
  749.  1250    The Clone Builder BBS   619-728-0541    28.8+HST    (2 lines)   CA
  750. @@ -138,11 +138,16 @@
  751.  4020    The Dragon's Den II     210-631-9417    28.8+HST                TX
  752.  4051    Sam's BBS               409-729-1319    28.8                    TX
  753.                                  409-729-1418    28.8(V.fc)
  754. +4190    Adventurer's Corner OS/2 309-664-0881    33.6+HST                IN
  755.  4340    The Resource Center     812-877-4342    28.8+HST                IN
  756.  5150    Murphy's Law            910-649-7004    28.8                    NC
  757.  6000    The Funny Farm (East)   704-553-8090    28.8+HST                NC
  758.  6050    The Sandbox ][          704-480-0456    28.8+HST                NC
  759. +6100    The Trading Post [SOUTH] 803-731-0690    28.8+HST                SC
  760. +8213    Eagle's Dare             301-498-1984    28.8                    MD
  761.  8412    Colossus                703-532-1438    14.4                    VA
  762. +9200    The Bear's Cave          508-795-7672    28.8                    MA
  763. +                                 508-791-8437    14.4
  764.  11000   Maxie's Toy             209-526-5899    14.4                    CA
  765.  11314   Erana's Peace           303-755-1884    28.8+HST                CO
  766.  12170   Paragon                 716-592-5910    28.8+HST                NY
  767. @@ -150,10 +155,15 @@
  768.  20358   Permanent Vacation      514-487-7467    28.8                    QC-CAN
  769.  20750   Purgatory BBS           306-665-0274    28.8                    SAS-CAN
  770.  
  771. -And in Japan (011-81):
  772. +In Japan (011-81):
  773.  
  774.  4411    Blazing Inferno         611-733-1165    28.8+HST                Okinawa
  775.                                  611-733-4807    28.8
  776. +
  777. +In Spain (011-34):
  778. +
  779. +15902   Zruspa's BBS             1-413-8423      28.8                    Spain
  780. +                                 1-413-9290      28.8
  781.  
  782.  *************************************************************************
  783.  
  784. diff -ub 424/READMAIL.C 424a/READMAIL.C
  785. --- 424/READMAIL.C    Tue Apr 25 19:33:52 1995
  786. +++ 424a/READMAIL.C    Sat Jul 15 10:03:06 1995
  787. @@ -428,6 +428,10 @@
  788.  #endif
  789.      helpl=10;
  790.      pl(get_string(705));
  791. +#ifdef RIPDRIVE
  792. +    if (rd_on())
  793. +      printf("\n\x1b[A");
  794. +#endif
  795.      outstr(":");
  796.      input(s,3);
  797.      if (strchr(s,'Q')!=NULL) {
  798. @@ -473,9 +477,6 @@
  799.        abort=0;
  800.        i=((ability_read_email_anony & ss.ability)!=0);
  801.        okmail=1;
  802. -#ifdef RIPDRIVE
  803. -      rd_coff();
  804. -#endif
  805.        pla(s,&abort);
  806.        if ((m.fromsys) && (!m.fromuser))
  807.          grab_user_name(&(m.msg),"EMAIL");
  808. @@ -715,9 +716,9 @@
  809.                if (sy) {
  810.                  if (net_num_max>1) {
  811.                    if (un) {
  812. -                    sprintf(s1,"%s #%u @%u",net_name, un, sy);
  813. +                    sprintf(s1,"#%u @%u.%s", un, sy, net_name);
  814.                    } else {
  815. -                    sprintf(s1,"%s %s @%u",net_name, net_email_name, sy);
  816. +                    sprintf(s1,"%s @%u.%s",net_email_name, sy, net_name);
  817.                    }
  818.                  } else {
  819.                    if (un) {
  820. @@ -889,7 +890,7 @@
  821.            if (!so())
  822.              break;
  823.            nl();
  824. -          prt(2,get_string(7));
  825. +          prt(2,get_string(44));
  826.            input(s,50);
  827.            if (s[0]) {
  828.              nl();
  829. diff -ub 424/RIPOVL.C 424a/RIPOVL.C
  830. --- 424/RIPOVL.C    Sun May 14 11:58:00 1995
  831. +++ 424a/RIPOVL.C    Thu Jul 13 06:06:42 1995
  832. @@ -69,28 +69,25 @@
  833.  
  834.                  if (rip_ver == 15410)
  835.                    pl(get_string(1460));
  836. -                else if (rip_ver == 15420)
  837. +                                else if (rip_ver == 15420) {
  838.                    pl(get_string(1461));
  839. -                else if (rip_ver == 15430) {
  840. +                                  rip_subset = -1;
  841. +                                  user_menus = 2;
  842. +                                } else if (rip_ver == 15430) {
  843.                    pl(get_string(1609));
  844.                    rip_subset = -1;                        /* partial support */
  845.                    user_menus = 2;
  846. -                } else if (rip_ver == 15400)
  847. -                  pl(get_string(1462));
  848. -                else if (rip_ver >= 20000) {
  849. +                                } else if (rip_ver >= 20000) {
  850.                    pl(get_string(1610));
  851.                    strcpy(icon_extension,"BMP");
  852. +                                } else { /* if (rip_ver == 15400) { */
  853. +                  pl(get_string(1462));
  854. +                                  rip_subset = -1;
  855. +                                  user_menus = 2;
  856.                  }
  857.              }
  858.          }
  859.  
  860. -        strcpy(sysinfo.ripdir,languagedir);
  861. -        pos = strlen(sysinfo.ripdir) - 2;
  862. -        while ((sysinfo.ripdir[--pos] != '\\') && pos >= 0);  /* Find first \ */
  863. -        sysinfo.ripdir[++pos] = 0;
  864. -        
  865. -        //rip_ver = 15410;
  866. -        strcat(sysinfo.ripdir, "RIPMENUS\\");
  867.  #ifdef RIPDRIVE
  868.          if (ripdrive) {
  869.            topdata = 0;
  870. @@ -103,7 +100,7 @@
  871.          return (-1);
  872.        }
  873.    }
  874. -  ripdrive = 0;
  875. +  ripdrive=0;
  876.    return (0);
  877.  }
  878.  
  879. @@ -166,6 +163,7 @@
  880.                delay(1);
  881.                out_cport(4);
  882.                out_cport(26);
  883. +                          while (((ch = delaykey(5)) != 0) && (ch != 6) && (!hangup));
  884.              }
  885.              return 1;
  886.          }
  887. @@ -219,6 +217,7 @@
  888.        delay(1);
  889.        out_cport(4);
  890.        out_cport(26);
  891. +          while (((ch = delaykey(5)) != 0) && (ch != 6) && (!hangup));
  892.  
  893.        if (iconflag)
  894.          return 2;
  895. @@ -236,6 +235,7 @@
  896.          delay(1);
  897.          out_cport(4);
  898.          out_cport(26);
  899. +                while (((ch = delaykey(5)) != 0) && (ch != 6) && (!hangup));
  900.        }
  901.  
  902.        sprintf(f,"|1F000000ICLOSE.IC%c|#\r\r", menutype);
  903. @@ -630,12 +630,13 @@
  904.  
  905.      if (rip_subset)
  906.        ch = '0';
  907. -    else {
  908. +        else if (using_modem) {
  909.        sprintf(s, "|1F000000%s|#\r\r", f); /* Check for file on user's machine */
  910.        comstr(s);
  911.        ch = delaykey(2);
  912. -    }
  913. -    lines_listed = -50;
  914. +        } else
  915. +          ch=0;
  916. +        tmp_disable_pause(1);
  917.      if (ch == '1') {                /* Exists on user's machine */
  918.        sprintf(s, "|1R00000000%s\r\r", f);
  919.        comstr(s);
  920. @@ -643,7 +644,7 @@
  921.        rip_show(f);
  922.      }
  923.      ripcode = 0;
  924. -    lines_listed = 0;
  925. +        tmp_disable_pause(0);
  926.  
  927.      cleared = HYPCLEAR;     /* Signify hypertext image which may need cls */
  928.  }
  929. @@ -1160,6 +1161,7 @@
  930.  {
  931.    static char s[80];
  932.  
  933. +  s[0]=0;
  934.    if (g_flags & g_flag_disable_mci)
  935.      return("");
  936.  
  937. diff -ub 424/RIPSPEED.C 424a/RIPSPEED.C
  938. --- 424/RIPSPEED.C    Sun Mar 19 15:48:22 1995
  939. +++ 424a/RIPSPEED.C    Sun Jun 25 08:03:36 1995
  940. @@ -68,26 +68,26 @@
  941.     to the user's hard disk */
  942.  void rip_saveall(void)
  943.  {
  944. -    comstr("\1|1\x1b""0000$SAVEALL$\r");
  945. +    comr("\1|1\x1b""0000$SAVEALL$");
  946.  }
  947.  
  948.  /* Function: restore the screen, mouse field, and clipboard info to the user's
  949.     screen */
  950.  void rip_restoreall(void)
  951.  {
  952. -    comstr("\1|1\x1b""0000$RESTOREALL$\r ");
  953. +    comr("\1|1\x1b""0000$RESTOREALL$");
  954.  }
  955.  
  956.  /* Function: paste whatever was captured to the clipboard back in place */
  957.  void rip_pcb(void)
  958.  {
  959. -    comstr("\1|1\x1b""0000$PCB$\r ");
  960. +    comr("\1|1\x1b""0000$PCB$");
  961.  }
  962.  
  963.  /* Function: cursor on */
  964.  void rip_con(void)
  965.  {
  966. -    comstr("\1|1\x1b""0000$CON$|\r ");
  967. +    comr("\1|1\x1b""0000$CON$|");
  968.  }
  969.  
  970.  #ifdef RIPDRIVE
  971. @@ -111,25 +111,25 @@
  972.  /* Function: cursor off */
  973.  void rip_coff(void)
  974.  {
  975. -    comstr("\1|1\x1b""0000$COFF$|\r ");
  976. +    comr("\1|1\x1b""0000$COFF$|");
  977.  }
  978.  
  979.  /* Function: save the mouse fields */
  980.  void rip_smf(void)
  981.  {
  982. -    comstr("\1|1\x1b""0000$SMF$|\r ");
  983. +    comr("\1|1\x1b""0000$SMF$|");
  984.  }
  985.  
  986.  /* Function: restore mouse fields */
  987.  void rip_rmf(void)
  988.  {
  989. -    comstr("\1|1\x1b""0000$RMF$|\r ");
  990. +    comr("\1|1\x1b""0000$RMF$|");
  991.  }
  992.  
  993.  /* Function: restore text window, and then paste clipboard */
  994.  void rip_rtwpcb(void)
  995.  {
  996. -    comstr("\1|1\x1b""0000$RTW$$PCB$|#\r ");
  997. +    comr("\1|1\x1b""0000$RTW$$PCB$|#");
  998.  }
  999.  
  1000.  /* Function:  show a file in the RIP directory. */
  1001. @@ -168,7 +168,7 @@
  1002.  void rip_cls(void)
  1003.  {
  1004.      if (rip_on())
  1005. -      comstr("\1|*\r ");
  1006. +      comr("\1|*");
  1007.  }
  1008.  
  1009.  void out_cport(char c)
  1010. @@ -227,6 +227,9 @@
  1011.  void comr(char *s)
  1012.  {
  1013.      comstr(s);
  1014. +    if (rip_ver >= 20000)
  1015. +      comstr("\r");
  1016. +    else
  1017.      comstr("\r ");
  1018.  }
  1019.  
  1020. @@ -250,6 +253,10 @@
  1021.    while (((time(&t2) - t1 <= tm)) && (!hangup)) {
  1022.      if ((c = inkey())!=0)
  1023.        break;
  1024. +    else {
  1025. +      checkhangup();
  1026. +      giveup_timeslice();
  1027. +    }
  1028.    }
  1029.    return c;
  1030.  }
  1031. diff -ub 424/SUBEDIT.C 424a/SUBEDIT.C
  1032. --- 424/SUBEDIT.C    Tue Apr 25 19:33:28 1995
  1033. +++ 424a/SUBEDIT.C    Tue Jul 11 19:00:18 1995
  1034. @@ -187,7 +187,7 @@
  1035.      outstr(get_string(62)); pl(r.name);
  1036.      outstr(get_string(63)); pl(r.filename);
  1037.      if (r.key==0)
  1038. -      strcpy(s,get_string(168));
  1039. +      strcpy(s,get_string(5));
  1040.      else {
  1041.        s[0]=r.key;
  1042.        s[1]=0;
  1043. diff -ub 424/SYSOPF.C 424a/SYSOPF.C
  1044. --- 424/SYSOPF.C    Fri May 12 10:09:50 1995
  1045. +++ 424a/SYSOPF.C    Sat Jul 22 09:19:06 1995
  1046. @@ -141,8 +141,7 @@
  1047.    if (!sysop2())
  1048.      outstr(get_string(112));
  1049.    pl(get_string(315));
  1050. -  if (num_instances() < 1)
  1051. -    return;
  1052. +  if (num_instances() > 1)
  1053.    multi_instance();
  1054.  }
  1055.  
  1056. @@ -588,8 +587,9 @@
  1057.      f=sh_close(f);
  1058.      if ((!abort) && (slist)) {
  1059.        nl();
  1060. -      npr("%s%d\r\n",get_string(1306),slist);
  1061. +      npr("%s%d",get_string(1306),slist);
  1062.      }
  1063. +    nln(2);
  1064.      pausescr();
  1065.    }
  1066.    if (tp)
  1067. @@ -607,7 +607,7 @@
  1068.      zap_call_out_list();
  1069.      zap_contacts();
  1070.    }
  1071. -  set_language(0);
  1072. +  set_language_1(cur_lang);
  1073.  }
  1074.  
  1075.  
  1076. diff -ub 424/UEDIT.C 424a/UEDIT.C
  1077. --- 424/UEDIT.C    Tue Apr 25 19:33:20 1995
  1078. +++ 424a/UEDIT.C    Sun Jun 25 07:45:50 1995
  1079. @@ -485,11 +485,14 @@
  1080.            }
  1081.            break;
  1082.          case 'G':
  1083. +          prt(5,get_string(1642));
  1084. +          if (yn()) {
  1085.            nl();
  1086.            outstr(get_string(274));
  1087.            npr("%02d/%02d/%02d\r\n",(int) u.month, (int) u.day, (int) u.year);
  1088.            input_age(&u);
  1089.            write_user(un,&u);
  1090. +          }
  1091.            break;
  1092.          case 'I':
  1093.            nl();
  1094. diff -ub 424/VARDEC.H 424a/VARDEC.H
  1095. --- 424/VARDEC.H    Sat May 20 13:33:26 1995
  1096. +++ 424a/VARDEC.H    Sun Jun 25 07:41:04 1995
  1097. @@ -97,6 +97,7 @@
  1098.  #define INST_LOC_NETLIST      45
  1099.  #define INST_LOC_TERM         46
  1100.  #define INST_LOC_QWK          47
  1101. +#define INST_LOC_GETUSER      48
  1102.  #define INST_LOC_WFC       65535
  1103.  
  1104.  /* DATA FOR EVERY USER */
  1105. diff -ub 424/VERSION.C 424a/VERSION.C
  1106. --- 424/VERSION.C    Sat May 27 08:08:58 1995
  1107. +++ 424a/VERSION.C    Fri Jul 14 08:40:40 1995
  1108. @@ -13,7 +13,7 @@
  1109.  *****************************************************************************/
  1110.  
  1111.  
  1112. -char *wwiv_version = "WWIV v4.24";
  1113. +char *wwiv_version = "WWIV v4.24a";
  1114.  
  1115.  unsigned int wwiv_num_version=424;
  1116.  
  1117. diff -ub 424/WWIV.INI 424a/WWIV.INI
  1118. --- 424/WWIV.INI    Wed Apr 19 06:52:20 1995
  1119. +++ 424a/WWIV.INI    Sun Jun 25 07:52:26 1995
  1120. @@ -127,9 +127,13 @@
  1121.  RIP_MENU_DATE  = 03/03/95
  1122.  ; If pull-down menus don't align properly, adjust this offset:
  1123.  RIP_ADJUST     = 0
  1124. +; Path to RIP data files
  1125. +RIP_DIR        = RIPMENUS
  1126.  
  1127.  ;
  1128.  ; System flags
  1129. +; Un-comment out lines (remove leading semicolon) and set
  1130. +; to Y or N for Yes or No
  1131.  ;
  1132.  ;FORCE_FBACK            =               ; force newusers to send fback
  1133.  ;CHECK_DUP_PHONES       =               ; check newuser dupe phones
  1134. diff -ub 424/XFER.C 424a/XFER.C
  1135. --- 424/XFER.C    Fri May 12 09:52:50 1995
  1136. +++ 424a/XFER.C    Sun Jul 16 13:12:40 1995
  1137. @@ -867,7 +867,7 @@
  1138.        npr("%s%s\r\n",ss,get_string(1311));
  1139.      else
  1140.        npr("%s%s\r\n",ss,get_string(1312));
  1141. -  } else {
  1142. +  } else if (lines_listed) {
  1143.      if ((titled!=2) && (tagging == 1)
  1144.        && !(thisuser.sysstatus & sysstatus_no_tag)) {
  1145.        if (okansi())
  1146. diff -ub 424/XFEROVL.C 424a/XFEROVL.C
  1147. --- 424/XFEROVL.C    Tue Apr 25 19:33:06 1995
  1148. +++ 424a/XFEROVL.C    Sat Jul 15 07:39:38 1995
  1149. @@ -575,13 +575,13 @@
  1150.              do {
  1151.                desc++;
  1152.              } while ((*desc==' ') || (*desc=='\t'));
  1153. +          }
  1154.              fn1=strchr(desc,'\n');
  1155.              if (fn1)
  1156.                *fn1=0;
  1157.              strcat(ext, desc);
  1158.              strcat(ext,"\r\n");
  1159.            }
  1160. -        }
  1161.        } else {
  1162.          ok1=0;
  1163.          fn1=strtok(s," \t\n");
  1164. @@ -678,7 +678,7 @@
  1165.  {
  1166.    char s[85],s1[40],s2[81];
  1167.    int i,i1,next,abort=0,fc;
  1168. -  int tcd=-1, otag;
  1169. +  int tcd=-1, otag, tcdi;
  1170.  
  1171.    if (!filelist)
  1172.      return;
  1173. @@ -690,7 +690,7 @@
  1174.    if (sysinfo.flags & OP_FLAGS_FAST_TAG_RELIST) {
  1175.      ansic(fc ? FRAME : 0);
  1176.      if (okansi())
  1177. -      pl(get_string(1354));
  1178. +      pl(get_string(1317));
  1179.      else
  1180.        pl(get_string(1355));
  1181.    }
  1182. @@ -700,14 +700,24 @@
  1183.          ansic(fc ? FRAME : 0);
  1184.          if (tcd!=-1) {
  1185.            if (okansi())
  1186. -            npr("\r%s\r\n",get_string(1356));
  1187. +            npr("\r%s\r\n",get_string(1313));
  1188.            else
  1189.              npr("\r%s\r\n",get_string(1357));
  1190.          }
  1191.          tcd=filelist[i].directory;
  1192. +        tcdi=-1;
  1193. +        for (i1=0; i1<num_dirs; i1++) {
  1194. +          if (udir[i1].subnum==tcd) {
  1195. +            tcdi=i1;
  1196. +            break;
  1197. +          }
  1198. +        }
  1199.          if (fc)
  1200.            ansic(2);
  1201. -        npr("%s - #%s.\r\n",directories[tcd].name,udir[tcd].keys);
  1202. +        if (tcdi==-1)
  1203. +          npr("%s.\r\n", directories[tcd].name);
  1204. +        else
  1205. +          npr("%s - #%s.\r\n",directories[tcd].name,udir[tcdi].keys);
  1206.          ansic(fc ? FRAME : 0);
  1207.          if (okansi())
  1208.            npr("%s\r\n",get_string(1317));
  1209. @@ -771,7 +781,7 @@
  1210.    }
  1211.    ansic(fc ? FRAME : 0);
  1212.    if (okansi())
  1213. -    npr("\r%s\r\n",get_string(1356));
  1214. +    npr("\r%s\r\n",get_string(1313));
  1215.    else
  1216.      npr("\r%s\r\n",get_string(1357));
  1217.    tagging=otag;
  1218. @@ -1027,7 +1037,7 @@
  1219.        abort=0;
  1220.        strcpy(s1," ");
  1221.        nl();
  1222. -      pl(get_string(1358));
  1223. +      pl(get_string(1081));
  1224.        nl();
  1225.        i=0;
  1226.        while ((i<dirconfnum) && (uconfdir[i].confnum!=-1) && (!abort)) {
  1227. diff -ub 424/XFEROVL2.C 424a/XFEROVL2.C
  1228. --- 424/XFEROVL2.C    Fri May 12 09:53:34 1995
  1229. +++ 424a/XFEROVL2.C    Sat Jul 15 10:02:10 1995
  1230. @@ -140,7 +140,7 @@
  1231.            strcat(*sss,s1);
  1232.            i4 += strlen(s1);
  1233.          }
  1234. -      } while ((i++<10) && (s1[0]));
  1235. +      } while ((i++<sysinfo.max_extend_lines) && (s1[0]));
  1236.        thisuser.screenchars=i1;
  1237.        if (*sss[0]==0) {
  1238.          bbsfree(*sss);
  1239. @@ -724,7 +724,7 @@
  1240.  
  1241.  void tag_files(void)
  1242.  {
  1243. -  int i, i1, done=0, abort, had, oh, fc, ohl;
  1244. +  int i, i1, i2, done=0, abort, had, oh, fc, ohl;
  1245.    char s[161],s1[161],s2[81],ch;
  1246.    double d;
  1247.  
  1248. @@ -744,7 +744,7 @@
  1249.        pausescr();
  1250.      ansic(fc ? FRAME : 0);
  1251.      if (okansi())
  1252. -      npr("\r%s\r\n",get_string(1337));
  1253. +      npr("\r%s\r\n",get_string(1315));
  1254.      else
  1255.        npr("\r%s\r\n",get_string(1338));
  1256.      tagptr=0;
  1257. @@ -756,7 +756,7 @@
  1258.    lines_listed=0;
  1259.    ansic(fc ? FRAME : 0);
  1260.    if (okansi())
  1261. -    npr("\r%s\r\n",get_string(1339));
  1262. +    npr("\r%s\r\n",get_string(1313));
  1263.    else
  1264.      npr("\r%s\r\n",get_string(1340));
  1265.  
  1266. @@ -811,14 +811,25 @@
  1267.            d=XFER_TIME(filelist[i].u.numbytes);
  1268.            nl();
  1269.            if (menu_on()) {
  1270. -            i1 = rip_printfileinfo(&filelist[i].u,filelist[i].directory);
  1271. +            rip_printfileinfo(&filelist[i].u,filelist[i].directory);
  1272.              getkey();
  1273.              rip_restoreall();
  1274.            } else {
  1275. +        for (i2=0; i2<num_dirs; i2++) {
  1276. +          if (udir[i2].subnum==filelist[i].directory)
  1277. +        break;
  1278. +        }
  1279. +        if (i2<num_dirs) {
  1280. +          npr("%s%s, %s\r\n",
  1281. +          get_string(1343),
  1282. +          udir[i2].keys,
  1283. +          directories[filelist[i].directory].name);
  1284. +        } else {
  1285.              npr("%s%s, %s\r\n",
  1286.                get_string(1343),
  1287. -              udir[filelist[i].directory].keys,
  1288. +          "??",
  1289.                directories[filelist[i].directory].name);
  1290. +        }
  1291.              ansic(1);
  1292.              outstr(get_string(746));
  1293.              ansic(2);
  1294. @@ -870,10 +881,10 @@
  1295.              }
  1296.              nl();
  1297.              pausescr();
  1298. -            tagging=i1;
  1299.              relist();
  1300.            }
  1301.          }
  1302. +        tagging=i1;
  1303.        break;
  1304.        case 'N':
  1305.          tagging=2;
  1306. @@ -1091,7 +1102,7 @@
  1307.      nl();
  1308.      pl(get_string(788));
  1309.      nl();
  1310. -    prt(2,get_string(44));
  1311. +    prt(2,get_string(7));
  1312.      input(s,12);
  1313.    }
  1314.    if (s[0]==0)
  1315. @@ -1185,12 +1196,12 @@
  1316.          if ((titled!=2) && (tagging==1)
  1317.            && !(thisuser.sysstatus & sysstatus_no_tag)) {
  1318.            if (okansi())
  1319. -            npr("\r%s\r\n",get_string(1348));
  1320. +            npr("\r%s\r\n",get_string(1313));
  1321.            else
  1322.              npr("\r%s\r\n",get_string(1349));
  1323.          } else {
  1324.            if (okansi())
  1325. -            npr("\r%s\r\n",get_string(1350));
  1326. +            npr("\r%s\r\n",get_string(1315));
  1327.            else
  1328.              npr("\r%s\r\n",get_string(1351));
  1329.          }
  1330. diff -ub 424/XINIT.C 424a/XINIT.C
  1331. --- 424/XINIT.C    Fri May 12 10:07:28 1995
  1332. +++ 424a/XINIT.C    Sun Jun 25 08:10:32 1995
  1333. @@ -250,6 +250,7 @@
  1334.  #define INI_STR_EXTENDED_USERINFO 69
  1335.  #define INI_STR_RIPDRIVE_ON       70
  1336.  #define INI_STR_MAX_EXTEND_LINES  71
  1337. +#define INI_STR_RIP_DIR           72
  1338.  
  1339.  static char *get_key_str(int n)
  1340.  {
  1341. @@ -379,7 +380,8 @@
  1342.    }
  1343.  
  1344.    /* put in default sysinfo.flags */
  1345. -  sysinfo.flags = OP_FLAGS_FIDO_PROCESS | OP_FLAGS_RIP_SUPPORT;
  1346. +  sysinfo.flags = OP_FLAGS_FIDO_PROCESS | OP_FLAGS_RIP_SUPPORT |
  1347. +                  OP_FLAGS_RIPDRIVE_ON;
  1348.  
  1349.    if (ok_modem_stuff)
  1350.      sysinfo.flags |= OP_FLAGS_NET_CALLOUT;
  1351. @@ -451,6 +453,10 @@
  1352.  
  1353.      set_string(INI_STR_RIP_BBS_ID, sysinfo.ripbbsid, sizeof(sysinfo.ripbbsid), 0);
  1354.      set_string(INI_STR_RIP_MENU_DATE, sysinfo.ripmenudate, sizeof(sysinfo.ripmenudate), 0);
  1355. +    strcpy(sysinfo.ripdir, "ripmenus\\");
  1356. +    set_string(INI_STR_RIP_DIR, sysinfo.ripdir, sizeof(sysinfo.ripdir), 0);
  1357. +    if (sysinfo.ripdir[strlen(sysinfo.ripdir)-1] != '\\')
  1358. +      strcat(sysinfo.ripdir, "\\");
  1359.      INI_INIT_N(INI_STR_RIP_ADJUST, rip_rm_adjust);
  1360.  
  1361.      /* pull out sysinfo flags */
  1362. @@ -458,7 +464,7 @@
  1363.                                NEL(sysinfo_flags), sysinfo.flags);
  1364.  
  1365.  
  1366. -    /* allow override of msg_color
  1367. +    /* allow override of msg_color */
  1368.      INI_INIT(INI_STR_MSG_COLOR,     msg_color);
  1369.  
  1370.      /* get asv values */
  1371. @@ -1045,7 +1051,8 @@
  1372.    strcpy(cdir,"X:\\");
  1373.    cdir[0]='A'+getdisk();
  1374.    getcurdir(0,&(cdir[3]));
  1375. -
  1376. +  if (cdir[3]==0)
  1377. +    cdir[2]=0;
  1378.  
  1379.  #ifdef EMS_XMS
  1380.    if (_OvrInitEms(0,0,16)!=0)
  1381.  
  1382. /****************************************************************************/
  1383.  
  1384. ENGLISH.STR CHANGES:
  1385.  
  1386. String #168:
  1387. FROM: "None"
  1388. TO  : ""
  1389.  
  1390. String #194:
  1391. FROM: "Which (A-O,Q) ? "
  1392. TO  : "Which (A-O,[,],Q) ? "
  1393.  
  1394. String #232:
  1395. FROM: "Allow auto sub info? "
  1396. TO  : "Make this sub public (in subs.lst)?"
  1397.  
  1398. String #676:
  1399. FROM: "\x030O\x031)verwrite, \x030A\x031)ppend, \x030N\x031)ew name, \x030Q\x031)uit? "
  1400. TO  : "\x030O\x031)verwrite, \x030A\x031)ppend, \x030N\x031)ew name, \x030Q\x031)uit? \x030"
  1401.  
  1402. String #1150:
  1403. FROM: "Select Conference: "
  1404. TO  : ""
  1405.  
  1406. String #1337:
  1407. FROM: "════════════╩═════╩═══════════════════════════════════════════════════════════"
  1408. TO  : ""
  1409.  
  1410. String #1339:
  1411. FROM: "══╩════════════╩═════╩════╩═══════════════════════════════════════════════════"
  1412. TO  : ""
  1413.  
  1414. String #1348:
  1415. FROM: "══╩════════════╩═════╩════╩═══════════════════════════════════════════════════"
  1416. TO  : ""
  1417.  
  1418. String #1350:
  1419. FROM: "════════════╩═════╩═══════════════════════════════════════════════════════════"
  1420. TO  : ""
  1421.  
  1422. String #1354:
  1423. FROM: "══╦════════════╦═════╦════╦═══════════════════════════════════════════════════"
  1424. TO  : ""
  1425.  
  1426. String #1356:
  1427. FROM: "══╩════════════╩═════╩════╩═══════════════════════════════════════════════════"
  1428. TO  : ""
  1429.  
  1430. String #1358:
  1431. FROM: "Select Conference:"
  1432. TO  : ""
  1433.  
  1434. Add string #1640: "Getting User ID"
  1435.  
  1436. Add string #1641: "RIPdrive enabled; use /R to activate"
  1437.  
  1438. Add string #1642: "Are you sure you want to re-enter the birthday?"
  1439.  
  1440. /****************************************************************************/
  1441.  
  1442. CHANGES TO INI.STR:
  1443.  
  1444. String #72:
  1445. FROM: ""
  1446. TO  : "RIP_DIR"
  1447.  
  1448.