From 035d4c47afae679be59dfbd6b3a7d5001a1ebc1e Mon Sep 17 00:00:00 2001 From: Michiel Broek Date: Mon, 29 Nov 2004 19:48:20 +0000 Subject: [PATCH] Removed bbslist menus --- ChangeLog | 17 + TODO | 3 - examples/menus-en.tar | Bin 61440 -> 81920 bytes examples/menus-es.tar | Bin 61440 -> 51200 bytes examples/txtfiles-es.tar | Bin 61440 -> 71680 bytes mbsebbs/Makefile | 10 +- mbsebbs/bbslist.c | 706 --------------------------------------- mbsebbs/bbslist.h | 11 - mbsebbs/bye.c | 6 +- mbsebbs/menu.c | 21 -- mbsetup/ledit.c | 7 - mbsetup/m_menu.c | 4 +- 12 files changed, 26 insertions(+), 759 deletions(-) delete mode 100644 mbsebbs/bbslist.c delete mode 100644 mbsebbs/bbslist.h diff --git a/ChangeLog b/ChangeLog index acb3fe8b..7a4c867e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,23 @@ $Id$ v0.71.1 28-Nov-2004 + upgrade: + Make sure you remove everything related to bbslist menus from + your menus and txtfiles. + + mbsebbs: + The creation of the mailout semafore is now after the hangup + so that mbfido won't start before the bbs is finished. + Removed bbslist menus, this will become a door. + + examples: + Removed bbs list items from the English menus and txtfiles and + the Spanish menus and txtfiles. + + lang: + TODO: remove bbslist entries. + + v0.71.0 27-Oct-2004 - 28-Nov-2004 upgrade: diff --git a/TODO b/TODO index 3351fae5..bd4dd3f9 100644 --- a/TODO +++ b/TODO @@ -61,9 +61,6 @@ mbsebbs: N: Translate characterset of messages to the users preferred characterset. This is partly done for testing. - N: There are some bugs in the bbs list menu. Make it a door? YES! The - bbslist is unsupported since 0.71.0. The door will be released soon. - newuser: L: Allow handles to be the same as the unixname. Most menus allow this, still needed? diff --git a/examples/menus-en.tar b/examples/menus-en.tar index 6aac690d28a2b7278006be2cbcf02082dd944e9d..075c288b36fe1d0ba9c31731e047b1d644cf47b2 100644 GIT binary patch literal 81920 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 delta 1372 zcma)*&ubGw6vs2oOlqPw!5%Ee4O=foP?`O0MZtukmr4&pE}@l88=4eJo81N~RT}i7 zCrtp!3JO~nJn6w(z34&En|iW;MxAYCW}c_+WwP)4zHdJ7y=*VSz2E72b;**S1sqFg(XfPHGwE-kHP<$4F7nwW({_uEl>FCUs~^r`$akqilq*Ua4GX z(ZV<8^zy^y`JgfH2YR>dC-Gv<7-wgX6o)F^a8`!dTJLoBUxG;)vPQ|?8(VvJibWR5 z-t@!7-U#EZi7CXEP<5X=oIMCN^&H;8f7G@msPhj|CMmC9V;hC{h4Qqn>k2sgbmlml z3Nm95`e=@)B~NW4F;o_VV80`tKSFEOBv@^T)@Ax+qD;2JWu7h?W20ju>p0iXHM3&s z{Z)-nPhg@>T54<+pUhCt7Ak@2AuWEgxq{+Cu8vjLkVXtyG7nA1G-5fT;&5kBb)L|O zDaGP0UZ;Vo(^CAj*+TJvxip~0?GiRcO$T0ho>Oi&(Yp%)uv`R?m!Riz3Cq=$J4C(f z3TKofxtb;n&$QKqnG!Yx%nfLs(}*oc(}1@&`DkS27Id}&?;;eJ0aF*2T~T>%LG89i zT*-3>R=r!o^0T`Kwfh=z 3) - break; - else { - Enter(1); - pout(12, 0, (char *) Language(302)); - Enter(2); - Pause(); - free(temp); - free(sFileName); - return; - } - } - - while (TRUE) { - /* Phone Number: */ - pout(15, 0, (char *) Language(303)); - colour(CFG.InputColourF, CFG.InputColourB); - fflush(stdout); - GetstrC(bbs.Phone[0], 19); - - if((strlen(bbs.Phone[0])) > 3) - break; - } - - while (TRUE) { - /* Sysop Name: */ - pout(15, 0, (char *) Language(304)); - colour(CFG.InputColourF, CFG.InputColourB); - fflush(stdout); - Getname(bbs.Sysop, 35); - - if((strlen(bbs.Sysop)) > 3) - break; - } - - while (TRUE) { - /* BBS Software: */ - pout(15, 0, (char *) Language(305)); - colour(CFG.InputColourF, CFG.InputColourB); - fflush(stdout); - GetstrC(bbs.Software, 19); - - if((strlen(bbs.Software)) >= 2) - break; - } - - while (TRUE) { - /* Storage (Gigabyte): */ - pout(15, 0, (char *) Language(306)); - colour(CFG.InputColourF, CFG.InputColourB); - fflush(stdout); - Getnum(temp, 8); - - if ((strlen(temp)) > 0) { - bbs.Storage = atoi(temp); - break; - } - } - - while (TRUE) { - /* Speeds: */ - pout(15, 0, (char *) Language(307)); - colour(CFG.InputColourF, CFG.InputColourB); - fflush(stdout); - GetstrC(bbs.Speeds[0], 39); - - if((strlen(bbs.Speeds[0])) > 2) - break; - } - - Enter(1); - /* Would you like to add a extended discription? [Y/n]: */ - pout(15, 0, (char *) Language(308)); - colour(CFG.InputColourF, CFG.InputColourB); - GetstrC(temp, 80); - if ((toupper(temp[0]) == Keystroke(308, 0)) || (strcmp(temp, "") == 0)) { - colour(14, 0); - /* Please a enter discription for */ - printf("\n%s%s (2 Lines)\n", (char *) Language(309), bbs.BBSName); - pout(15, 0, (char *)": "); - colour(CFG.InputColourF, CFG.InputColourB); - fflush(stdout); - GetstrC(bbs.Desc[0], 65); - pout(15, 0, (char *)": "); - colour(CFG.InputColourF, CFG.InputColourB); - fflush(stdout); - GetstrC(bbs.Desc[1], 65); - } - - printf("\n"); - Syslog('+', "User added BBS to list"); - - sprintf(bbs.UserName,"%s", exitinfo.sUserName); - sprintf(bbs.DateOfEntry,"%02d-%02d-%04d",l_date->tm_mday,l_date->tm_mon+1,l_date->tm_year+1900); - sprintf(bbs.Verified,"%02d-%02d-%04d",l_date->tm_mday,l_date->tm_mon+1,l_date->tm_year+1900); - bbs.Available = TRUE; - - fwrite(&bbs, sizeof(bbs), 1, pBBSList); - fclose(pBBSList); - chmod(sFileName, 0660); - free(temp); - free(sFileName); -} - - - -void BBS_List(void) -{ - FILE *pBBSList; - int recno = 0; - char *sFileName; - - sFileName = calloc(PATH_MAX, sizeof(char)); - sprintf(sFileName,"%s/etc/bbslist.data", getenv("MBSE_ROOT")); - - if((pBBSList = fopen(sFileName, "r+")) == NULL) { - WriteError("BBSList: Can't open file: %s", sFileName); - free(sFileName); - return; - } - - fread(&bbshdr, sizeof(bbshdr), 1, pBBSList); - - if(exitinfo.GraphMode) { - colour(9, 0); - printf("\n\t\t\t\t%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n", 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177); - printf("\t\t\t\t%c%c", 177, 177); - colour(15, 0); - printf(" %s", (char *) Language(310)); - colour(9, 0); - printf("%c%c %c\n", 177, 177, 219); - printf("\t\t\t\t%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c %c\n", 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 219); - printf("\t\t\t\t %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n\n", 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 219); - } else { - printf("\n\t\t\t\t+---------------+\n"); - /* BBS Listing */ - printf("\t\t\t\t| %s |\n", (char *) Language(310)); - printf("\t\t\t\t+---------------+\n\n"); - } - - /* # BBS Name Number Software Gigabyte Speed*/ - colour(15, 0); - printf("%s\n", Language(311)); - colour(12, 0); - sLine(); - - while (fread(&bbs, bbshdr.recsize, 1, pBBSList) == 1) { - if ((bbs.Available)) { - colour(15, 0); - printf("%-5d", recno); - - colour(10, 0); - bbs.BBSName[22] = '\0'; - printf("%-23s", bbs.BBSName); - - colour(11, 0); - bbs.Phone[0][14] = '\0'; - printf("%-15s", bbs.Phone[0]); - - colour(14, 0); - bbs.Software[15] = '\0'; - printf("%-16s", bbs.Software); - - colour(13, 0); - printf("%-11d", bbs.Storage); - - colour(8, 0); - bbs.Speeds[0][9] = '\0'; - printf("%s\n", bbs.Speeds[0]); - } - recno++; - } - colour(12, 0); - sLine(); - fclose(pBBSList); - free(sFileName); - Pause(); -} - - - -void BBS_Search(void) -{ - FILE *pBBSList; - int recno = 0; - int iFoundBBS = FALSE; - char *sFileName; - char *Name; - char *sTemp; - long offset; - - sFileName = calloc(PATH_MAX, sizeof(char)); - sprintf(sFileName,"%s/etc/bbslist.data", getenv("MBSE_ROOT")); - - if((pBBSList = fopen(sFileName, "r+")) == NULL) { - WriteError("BBSList: Can't open file: %s", sFileName); - free(sFileName); - return; - } - - fread(&bbshdr, sizeof(bbshdr), 1, pBBSList); - Name = calloc(30, sizeof(char)); - sTemp = calloc(81, sizeof(char)); - - if(exitinfo.GraphMode) { - colour(9, 0); - printf("\n\t\t\t\t%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n", 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177); - printf("\t\t\t\t%c%c ", 177, 177); - colour(15, 0); - printf("%s", (char *) Language(312)); - colour(9, 0); - printf("%c%c %c\n", 177, 177, 219); - printf("\t\t\t\t%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c %c\n", 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,219); - printf("\t\t\t\t %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n\n", 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,219); - } else { - printf("\n\t\t\t\t+--------------------+\n"); - /* Search for a BBS */ - printf("\t\t\t\t | %s |\n", (char *) Language(312)); - printf("\t\t\t\t +--------------------+\n\n"); - } - - while (TRUE) { - /* Please enter 3 letters of BBS to search for: */ - pout(15, 0, (char *) Language(313)); - colour(CFG.InputColourF, CFG.InputColourB); - GetstrC(Name, 29); - - if((strcmp(Name,"")) == 0) { - fflush(stdin); - fclose(pBBSList); - free(sFileName); - free(sTemp); - free(Name); - return; - } - - if((strlen(Name)) > 2) - break; - else { - Enter(1); - /* I need at least 3 letters ...*/ - pout(12, 0, (char *) Language(314)); - Enter(2); - } - } - - while (fread(&bbs, bbshdr.recsize, 1, pBBSList) == 1) { - if((strstr(tl(bbs.BBSName), tl(Name)) != NULL)) { - tlf(bbs.BBSName); - colour(14, 0); - /* BBS Name: */ - printf("\n%s%s\n\n", (char *) Language(301), bbs.BBSName); - /* View this BBS? [Y/n]: */ - pout(15, 0, (char *) Language(315)); - colour(CFG.InputColourF, CFG.InputColourB); - GetstrC(sTemp, 80); - if ((toupper(sTemp[0]) == Keystroke(315, 0)) || (strcmp(sTemp,"") == 0)) { - iFoundBBS = TRUE; - break; - } else - recno++; - } else { - recno++; - } - } - - if(!iFoundBBS) { - Enter(1); - /* Could not find the BBS Listed ... */ - pout(12, 0, (char *) Language(316)); - Enter(2); - fclose(pBBSList); - Pause(); - free(sFileName); - free(Name); - free(sTemp); - return; - } - - offset = bbshdr.hdrsize + (recno * bbshdr.recsize); - if(fseek(pBBSList, offset, 0) != 0) - WriteError("Can't move pointer there. %s",sFileName); - - fread(&bbs, bbshdr.recsize, 1, pBBSList); - if(exitinfo.GraphMode) { - colour(9, 0); - printf("\n\t\t\t%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n", 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177); - printf("\t\t\t%c%c ", 177, 177); - colour(15, 0); - /* Search for a BBS */ - printf("%s", (char *) Language(312)); - colour(9, 0); - printf("%c%c %c\n", 177, 177, 219); - printf("\t\t\t%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c %c\n", 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,219); - printf("\t\t\t %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n\n", 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,219); - } else { - printf("\n\t\t\t+--------------------+\n"); - /* Search for a BBS */ - printf("\t\t\t| %s |\n", (char *) Language(312)); - printf("\t\t\t+--------------------+\n\n"); - } - - /* # BBS Name Number Software Storage Speed */ - colour(15, 0); - printf("%s\n", Language(311)); - - colour(12, 0); - sLine(); - - colour(15, 0); - printf("%-5d", recno); - - colour(10, 0); - bbs.BBSName[22] = '\0'; - printf("%-23s", bbs.BBSName); - - colour(11, 0); - bbs.Phone[0][14] = '\0'; - printf("%-15s", bbs.Phone[0]); - - colour(14, 0); - bbs.Software[15] = '\0'; - printf("%-16s", bbs.Software); - - colour(13, 0); - printf("%-11d", bbs.Storage); - - colour(8, 0); - bbs.Speeds[0][9] = '\0'; - printf("%s\n", bbs.Speeds[0]); - - colour(12, 0); - sLine(); - fclose(pBBSList); - Pause(); - free(sFileName); - free(sTemp); - free(Name); -} - - - -void BBS_Show(void) -{ - FILE *pBBSList; - int recno = 0; - int nrecno = 0; - long int offset; - char *sFileName; - char srecno[10]; - - sFileName = calloc(PATH_MAX, sizeof(char)); - sprintf(sFileName,"%s/etc/bbslist.data", getenv("MBSE_ROOT")); - - if((pBBSList = fopen(sFileName, "r+")) == NULL) { - WriteError("Can't open file: %s", sFileName); - free(sFileName); - return; - } - free(sFileName); - fread(&bbshdr, sizeof(bbshdr), 1, pBBSList); - - if(exitinfo.GraphMode) { - colour(9, 0); - printf("\n\t\t\t%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n", 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177); - printf("\t\t\t%c%c ", 177, 177); - colour(15, 0); - /* Show a BBS */ - printf("%s", (char *) Language(317)); - colour(9, 0); - printf("%c%c %c\n", 177, 177, 219); - printf("\t\t\t%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c %c\n", 177, 177, 177, 177, 177,177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 219); - printf("\t\t\t %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n\n", 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,219); - } else { - printf("\n\t\t\t+--------------+\n"); - /* Show a BBS */ - printf("\t\t\t| %s |\n", (char *) Language(317)); - printf("\t\t\t+--------------+\n\n"); - } - - Enter(1); - /* Please enter number to list: */ - pout(15, 0, (char *) Language(318)); - colour(CFG.InputColourF, CFG.InputColourB); - GetstrC(srecno, 9); - - if((strcmp(srecno,"")) == 0) - return; - - recno = atoi(srecno); - nrecno = recno; - recno = 0; - - while (fread(&bbs, bbshdr.recsize, 1, pBBSList) == 1) - recno++; - - if(nrecno >= recno) { - Enter(1); - /* Record does not exist */ - pout(12, 0, (char *) Language(319)); - Enter(2); - fclose(pBBSList); - Pause(); - return; - } else { - offset = bbshdr.hdrsize + (nrecno * bbshdr.recsize); - if(fseek(pBBSList, offset, 0) != 0) - WriteError("Can't move pointer there. %s",sFileName); - - fread(&bbs, bbshdr.recsize, 1, pBBSList); - - colour(12, 0); - sLine(); - - /* Record : */ - pout(15, 0, (char *) Language(320)); - colour(10, 0); - printf("%d\n", nrecno); - - /* BBS Name : */ - pout(15, 0, (char *) Language(321)); - colour(10, 0); - printf("%s\n", bbs.BBSName); - - /* Number : */ - pout(15, 0, (char *) Language(322)); - colour(10, 0); - printf("%s\n", bbs.Phone[0]); - - /* Software : */ - pout(15, 0, (char *) Language(323)); - colour(10, 0); - printf("%s\n", bbs.Software); - - /* Storage : */ - pout(15, 0, (char *) Language(324)); - colour(10, 0); - printf("%d\n", bbs.Storage); - - /* Speeds : */ - pout(15, 0, (char *) Language(325)); - colour(10, 0); - printf("%s\n", bbs.Speeds[0]); - - /* Sysop Name : */ - pout(15, 0, (char *) Language(326)); - colour(10, 0); - printf("%s\n", bbs.Sysop); - - if((strcmp(bbs.Desc[0],"")) != 0) { - pout(15, 0, (char *)" Description : "); - colour(13, 0); - bbs.Desc[0][62] = '\0'; - printf("%s\n", bbs.Desc[0]); - } - if((strcmp(bbs.Desc[1],"")) != 0) { - pout(15, 0, (char *)" : "); - colour(13, 0); - bbs.Desc[1][62] = '\0'; - printf("%s\n", bbs.Desc[1]); - } - - colour(12, 0); - sLine(); - - if((SYSOP == TRUE) || (exitinfo.Security.level >= CFG.sysop_access)) { - pout(15, 0, (char *)"Sysop extra information\n"); - colour(12, 0); - sLine(); - - /* Available : */ - pout(15, 0, (char *) Language(327)); - colour(10, 0); - printf("%d\n", bbs.Available); - - /* Date of Entry : */ - pout(15, 0, (char *) Language(328)); - colour(10, 0); - printf("%s\n", bbs.DateOfEntry); - - /* Entry Name : */ - pout(15, 0, (char *) Language(329)); - colour(10, 0); - printf("%s\n", bbs.UserName); - - colour(12, 0); - sLine(); - } - Pause(); - } - fclose(pBBSList); -} - - - -void BBS_Delete(void) -{ - FILE *pBBSLine; - int recno = 0, nrecno = 0; - long offset; - char srecno[7], *sFileName, stemp[50], sUser[35]; - - sFileName = calloc(PATH_MAX, sizeof(char)); - sprintf(sFileName,"%s/etc/bbslist.data", getenv("MBSE_ROOT")); - - if ((pBBSLine = fopen(sFileName, "r+")) == NULL) { - WriteError("Can't open file: %s", sFileName); - free(sFileName); - return; - } - fread(&bbshdr, sizeof(bbshdr),1 , pBBSLine); - - if (exitinfo.GraphMode) { - colour(9, 0); - printf("\n\t\t\t\t%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n", 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177); - printf("\t\t\t\t%c%c", 177, 177); - colour(15, 0); - /* Delete BBS */ - printf(" %s", (char *) Language(330)); - colour(9, 0); - printf("%c%c %c\n", 177, 177, 219); - printf("\t\t\t\t%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c %c\n", 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 219); - printf("\t\t\t\t %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n\n", 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 219); - } else { - printf("\n\t\t\t\t+--------------+\n"); - /* Delete BBS */ - printf("\t\t\t\t| %s |\n", (char *) Language(330)); - printf("\t\t\t\t+--------------+\n\n"); - } - - Enter(1); - /* Please enter number to delete: */ - pout(15, 0, (char *) Language(331)); - colour(CFG.InputColourF, CFG.InputColourB); - GetstrC(srecno, 9); - - if ((strcmp(srecno,"")) == 0) - return; - - recno = atoi(srecno); - nrecno = recno; - recno = 0; - - while (fread(&bbs, bbshdr.recsize, 1, pBBSLine) == 1) - recno++; - - if (nrecno >= recno) { - Enter(1); - /* Record does not exist */ - pout(12, 0, (char *) Language(319)); - Enter(2); - fclose(pBBSLine); - free(sFileName); - Pause(); - return; - } else { - offset = bbshdr.hdrsize + (nrecno * bbshdr.recsize); - if (fseek(pBBSLine, offset, 0) != 0) - WriteError("Can't move pointer there. %s",sFileName); - - fread(&bbs, sizeof(bbs), 1, pBBSLine); - - /* Convert Record Int to string, so we can print to logfiles */ - sprintf(stemp,"%d", nrecno); - - /* Print UserName to String, so we can compare for deletion */ - sprintf(sUser,"%s", exitinfo.sUserName); - - if ((strcmp(sUser, bbs.UserName)) != 0) { - if ((!SYSOP) && (exitinfo.Security.level < CFG.sysop_access)) { - /* Record */ /* does not belong to you.*/ - printf("\n%s%s %s\n\n", (char *) Language(332), stemp, (char *) Language(333)); - Syslog('!', "User tried to delete somebody else's bbslist record: %s", stemp); - free(sFileName); - fclose(pBBSLine); - return; - } - } - - if ((bbs.Available == FALSE)) { - colour(12, 0); - /* Record */ - printf("\n%s%d %s\n\n", (char *) Language(332), nrecno, (char *) Language(334)); - Syslog('!', "User tried to mark an already marked bbslist record: %s", stemp); - } else { - bbs.Available = FALSE; - colour(10, 0); - /* Record: */ - printf("\n%s%d %s\n\n", (char *) Language(332), nrecno, (char *) Language(335)); - Syslog('+', "User marked bbslist record for deletion: %s", stemp); - colour(15, 2); - /* The Sysop will purge the list once he has *//* seen you have marked a record for deletion. */ - printf("%s\n%s\n\n", (char *) Language(336), (char *) Language(337)); - Pause(); - } - - offset = bbshdr.hdrsize + (nrecno * bbshdr.recsize); - if (fseek(pBBSLine, offset, 0) != 0) - WriteError("Can't move pointer there. %s",sFileName); - fwrite(&bbs, sizeof(bbs), 1, pBBSLine); - } - - fclose(pBBSLine); - chmod(sFileName, 0660); - free(sFileName); -} - - diff --git a/mbsebbs/bbslist.h b/mbsebbs/bbslist.h deleted file mode 100644 index fe80e356..00000000 --- a/mbsebbs/bbslist.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef _BBSLIST_H -#define _BBSLIST_H - -void BBS_Add(void); -void BBS_List(void); -void BBS_Show(void); -void BBS_Delete(void); -void BBS_Search(void); - -#endif - diff --git a/mbsebbs/bye.c b/mbsebbs/bye.c index 07ecfcc1..757ba552 100644 --- a/mbsebbs/bye.c +++ b/mbsebbs/bye.c @@ -69,9 +69,6 @@ void Good_Bye(int onsig) if ((onsig != SIGALRM) && (onsig != MBERR_TIMEOUT) && (hanged_up == 0)) DisplayFile((char *)"goodbye"); - if (do_mailout) - CreateSema((char *)"mailout"); - SaveLastCallers(); /* @@ -120,6 +117,9 @@ void Good_Bye(int onsig) cookedport(); hangup(); + if (do_mailout) + CreateSema((char *)"mailout"); + t_end = time(NULL); Syslog(' ', "MBSEBBS finished in %s", t_elapsed(t_start, t_end)); sleep(1); diff --git a/mbsebbs/menu.c b/mbsebbs/menu.c index a4fea51d..2f621ea8 100644 --- a/mbsebbs/menu.c +++ b/mbsebbs/menu.c @@ -34,7 +34,6 @@ #include "../lib/users.h" #include "oneline.h" #include "mail.h" -#include "bbslist.h" #include "change.h" #include "chat.h" #include "file.h" @@ -684,26 +683,6 @@ void DoMenu(int Type) Oneliner_Print(); break; - case 501: - BBS_Add(); - break; - - case 502: - BBS_List(); - break; - - case 503: - BBS_Show(); - break; - - case 504: - BBS_Delete(); - break; - - case 506: - BBS_Search(); - break; - default: Enter(1); pout(15, 0, (char *) Language(339)); diff --git a/mbsetup/ledit.c b/mbsetup/ledit.c index be95994e..de177765 100644 --- a/mbsetup/ledit.c +++ b/mbsetup/ledit.c @@ -2222,13 +2222,6 @@ char *getmenutype(int val) case 404: return (char *)"Mark oneliner for deletion"; case 405: return (char *)"Print a random oneliner"; - case 501: return (char *)"Add a BBS"; - case 502: return (char *)"List BBS's"; - case 503: return (char *)"Show a BBS"; - case 504: return (char *)"Mark a BBS for deletion"; - case 505: return (char *)"Print a BBS"; - case 506: return (char *)"Search for a BBS"; - default: return (char *)"Unknown menu"; } } diff --git a/mbsetup/m_menu.c b/mbsetup/m_menu.c index c009cc81..f313a3cb 100644 --- a/mbsetup/m_menu.c +++ b/mbsetup/m_menu.c @@ -187,15 +187,13 @@ int GetMenuType(void) mbse_mvprintw( 9, 6, "3. Message areas menus"); mbse_mvprintw(10, 6, "4. User setting menus"); mbse_mvprintw(11, 6, "5. Oneliner menus"); - mbse_mvprintw(12, 6, "6. BBS List menus"); - switch (select_menu(6)) { + switch (select_menu(5)) { case 1: return GetSubmenu(1, 22); case 2: return GetSubmenu(101, 19); case 3: return GetSubmenu(201, 21); case 4: return GetSubmenu(301, 21); case 5: return GetSubmenu(401, 5); - case 6: return GetSubmenu(501, 6); default: return 0; } }