]> git.pond.sub.org Git - empserver/commitdiff
Get rid of RET_SYS, just use RET_FAIL
authorMarkus Armbruster <armbru@pond.sub.org>
Sun, 3 Aug 2008 15:34:00 +0000 (11:34 -0400)
committerMarkus Armbruster <armbru@pond.sub.org>
Sun, 3 Aug 2008 15:34:00 +0000 (11:34 -0400)
RET_SYS was used for commands failing due to internal or environmental
errors, but not really systematically.  The difference to RET_FAIL is
how dispatch() treats them: RET_SYS got logged, and cost no BTUs.

More specific logging is possible at the point of failure than in
dispatch().  Make sure that's done for all failures that used to
return RET_SYS.

The change in BTU charging affects commands consider, offer, repay,
trade failing due to internal errors.  It also affects deity commands
reload and turn (irrelevant because deities get unlimited BTUs), and
commands apropos, info and motd (irrelevant because they cost no
BTUs).

include/misc.h
src/lib/commands/cons.c
src/lib/commands/info.c
src/lib/commands/offe.c
src/lib/commands/relo.c
src/lib/commands/repa.c
src/lib/commands/trad.c
src/lib/commands/turn.c
src/lib/player/dispatch.c
src/lib/player/player.c

index 224e6c2a487f216a73f826f8dfd519c7f5e39041..1cc47d065398360155d7dd1c701228702fb46665 100644 (file)
@@ -91,7 +91,6 @@ void exit_nomem(void) ATTRIBUTE((noreturn));
 #define        RET_OK          0       /* command completed sucessfully */
 #define        RET_FAIL        1       /* command completed unsucessfully [?] */
 #define        RET_SYN         2       /* syntax error in command */
-#define        RET_SYS         3       /* system error (missing file, etc) */
 
 extern char *getstarg(char *input, char *prompt, char buf[]);
 extern char *getstring(char *prompt, char buf[]);
index 7db4a7ceda2f6e4d3aeee2e7813f005dda5641b7..00cdb1f0c59c6b6828cf924a1ff09f448d6ba73b 100644 (file)
@@ -196,8 +196,9 @@ loan_accept(struct ltcomstr *ltcp)
        return RET_OK;
     }
     if (!getloan(ltcp->num, lp)) {
-       pr("loan_accept: can't read loan; get help!\n");
-       return RET_SYS;
+       logerror("loan_accept: can't read loan");
+       pr("can't read loan; get help!\n");
+       return RET_FAIL;
     }
     if (lp->l_status == LS_FREE) {     /* other guy retratcted already */
        late(ltcp);
@@ -250,8 +251,9 @@ loan_decline(struct ltcomstr *ltcp)
 
     lp = &ltcp->u.l;
     if (!getloan(ltcp->num, lp)) {
-       pr("Decline: can't read loan; get help!\n");
-       return RET_SYS;
+       logerror("loan_decline: can't read loan");
+       pr("can't read loan; get help!\n");
+       return RET_FAIL;
     }
     /* loan got accepted somehow between now and last time we checked */
     if (lp->l_status == LS_SIGNED) {
@@ -260,8 +262,9 @@ loan_decline(struct ltcomstr *ltcp)
     }
     lp->l_status = LS_FREE;
     if (!putloan(ltcp->num, lp)) {
-       pr("loan_decline: can't write loan; get help!\n");
-       return RET_SYS;
+       logerror("loan_decline: can't write loan");
+       pr("can't write loan; get help!\n");
+       return RET_FAIL;
     }
     decline(ltcp);
     return RET_OK;
@@ -281,8 +284,9 @@ treaty_accept(struct ltcomstr *ltcp)
        return RET_OK;
     }
     if (!gettre(ltcp->num, tp)) {
-       pr("Accept: can't read treaty; get help!\n");
-       return RET_SYS;
+       pr("treaty_accept: can't read treaty");
+       pr("can't read treaty; get help!\n");
+       return RET_FAIL;
     }
     if (tp->trt_status == TS_FREE) {   /* treaty offer withdrawn */
        late(ltcp);
@@ -294,8 +298,9 @@ treaty_accept(struct ltcomstr *ltcp)
     }
     tp->trt_status = TS_SIGNED;
     if (!puttre(ltcp->num, tp)) {
+       pr("treaty_accept: can't write treaty");
        pr("Problem saving treaty; get help!\n");
-       return RET_SYS;
+       return RET_FAIL;
     }
     accpt(ltcp);
     pr("Treaty in effect until %s", ctime(&tp->trt_exp));
@@ -312,8 +317,9 @@ treaty_decline(struct ltcomstr *ltcp)
 
     tp = &ltcp->u.t;
     if (!gettre(ltcp->num, tp)) {
-       pr("Decline: can't read treaty; get help!\n");
-       return RET_SYS;
+       logerror("treaty_decline: can't read treaty");
+       pr("can't read treaty; get help!\n");
+       return RET_FAIL;
     }
     /* treaty got signed somehow between now and last time we read it */
     if (tp->trt_status == TS_SIGNED) {
@@ -322,8 +328,9 @@ treaty_decline(struct ltcomstr *ltcp)
     }
     tp->trt_status = TS_FREE;
     if (!puttre(ltcp->num, tp)) {
+       logerror("treaty_decline: can't write treaty");
        pr("Problem saving treaty; get help!\n");
-       return RET_SYS;
+       return RET_FAIL;
     }
     decline(ltcp);
     return RET_OK;
index d12ba196023aa5143417ccb0e83f681940879966..61a0b9bc1fc4dff53df7272dd2dcf3ff56fa5dac 100644 (file)
@@ -99,7 +99,7 @@ info(void)
        if (info_dp == 0) {
            pr("Can't open info dir\n");
            logerror("Can't open info dir \"%s\"\n", infodir);
-           return RET_SYS;
+           return RET_FAIL;
        }
 
        while ((dp = readdir(info_dp)) != 0) {
@@ -146,13 +146,13 @@ info(void)
        logerror("Cannot fstat for \"%s\" info file (%s)",
                 filename, strerror(errno));
        fclose(fp);
-       return RET_SYS;
+       return RET_FAIL;
     }
     if ((statb.st_mode & S_IFREG) == 0) {
        pr("Error reading info file for %s\n", name);
        logerror("The info file \"%s\" is not regular file\n", filename);
        fclose(fp);
-       return RET_SYS;
+       return RET_FAIL;
     }
     pr("Information on:  %s    Last modification date: %s",
        name, ctime(&statb.st_mtime));
@@ -193,7 +193,7 @@ apro(void)
     if (info_dp == NULL) {
        pr("Can't open info dir \n");
        logerror("Can't open info dir \"%s\"", infodir);
-       return RET_SYS;
+       return RET_FAIL;
     }
 
     fbuf = malloc(256);
@@ -315,7 +315,6 @@ info(void)
            switch (GetLastError()) {
            case ERROR_FILE_NOT_FOUND:
                pr("Sorry, there is no info on %s\n", name);
-               return RET_FAIL;
                break;
            case ERROR_PATH_NOT_FOUND:
                pr("Can't open info dir\n");
@@ -326,7 +325,7 @@ info(void)
                logerror("Error (%lu) reading info dir(%s)\\file(%s)",
                    GetLastError(), infodir, filename);
            }
-           return RET_SYS;
+           return RET_FAIL;
        }
        do {
            if ((fData.dwFileAttributes != (DWORD)-1) &&
@@ -381,7 +380,7 @@ info(void)
            logerror("The info file \"%s\" is not regular file\n",
                     filename);
            fclose(fp);
-           return RET_SYS;
+           return RET_FAIL;
        }
     }
 
@@ -429,7 +428,7 @@ apro(void)
            logerror("Error (%lu) reading info dir(%s)\\file(%s)",
                GetLastError(), infodir, filename);
        }
-       return RET_SYS;
+       return RET_FAIL;
     }
 
     fbuf = malloc(256);
index e73b0ba7a04fe1e7b6716f0cf9fa8edab6b30507..685e7052b5e2f2c8272b422f5d9c62e9e695e375 100644 (file)
@@ -142,8 +142,9 @@ do_treaty(void)
     trty.trt_cnb = recipient;
     trty.trt_exp = j * SECS_PER_DAY + now;
     if (!puttre(nstr.cur, &trty)) {
+       logerror("do_treaty: can't write treaty");
        pr("Couldn't save treaty; get help.\n");
-       return RET_SYS;
+       return RET_FAIL;
     }
     wu(0, recipient, "Treaty #%d proposed to you by %s\n",
        nstr.cur, cname(player->cnum));
@@ -230,8 +231,9 @@ do_loan(void)
     (void)time(&loan.l_lastpay);
     loan.l_duedate = loan.l_ldur * SECS_PER_DAY + loan.l_lastpay;
     if (!putloan(nstr.cur, &loan)) {
+       logerror("do_loan: can't save loan");
        pr("Couldn't save loan; get help!\n");
-       return RET_SYS;
+       return RET_FAIL;
     }
     pr("You have offered loan %d\n", nstr.cur);
     wu(0, recipient, "Country #%d has offered you a loan (#%d)\n",
index 95f87a62c71910f9ca145f88e53d75d025425d07..6fc32038dab0182fdf9f4b45bdec22df03f663f7 100644 (file)
@@ -47,7 +47,7 @@ relo(void)
 
     if (journal_reopen() < 0) {
        pr("Can't reopen journal");
-       return RET_SYS;
+       return RET_FAIL;
     }
     pr("Journal reopened.\n");
 
@@ -56,7 +56,7 @@ relo(void)
 
     if (logreopen() < 0) {
        pr("Can't reopen log");
-       return RET_SYS;
+       return RET_FAIL;
     }
     pr("Log reopened.\n");
 
index 300bfcf8fb5955dee46175de2ff135369a27ad80..c1b4b077aa869fd45c2a2243d89a06ee3b012714 100644 (file)
@@ -105,8 +105,9 @@ repa(void)
        loan.l_amtpaid += payment;
     }
     if (!putloan(loan_num, &loan)) {
+       logerror("repa: can't write loan");
        pr("Can't save loan; get help!\n");
-       return RET_SYS;
+       return RET_FAIL;
     }
     return RET_OK;
 }
index 9ff753c94baad961e3e46daa9b0ff9629e4603cb..dc3037b9b2916faab7b9bad365e45bfc89c87f91 100644 (file)
@@ -134,8 +134,9 @@ trad(void)
        pr("Can't find trade #%d!\n", trade.trd_unitid);
        trade.trd_unitid = -1;
        if (!puttrade(lotno, &trade)) {
+           logerror("trad: can't write trade");
            pr("Couldn't save after getitem failed; get help!\n");
-           return RET_SYS;
+           return RET_FAIL;
        }
        return RET_OK;
     }
index 3cc102e1720a752e3da588f5b97e04d49a69fe15..7818791356325da20e619121322e0aa9b3598fa3 100644 (file)
@@ -62,7 +62,7 @@ turn(void)
        if ((unlink(downfil) == -1) && (errno != ENOENT)) {
            pr("Could not remove no-login file, logins still disabled.\n");
            logerror("Could not remove no-login file (%s).\n", downfil);
-           return RET_SYS;
+           return RET_FAIL;
        }
        return RET_OK;
     } else {
@@ -89,7 +89,7 @@ turn(void)
                pr("Could not remove motd.\n");
                logerror("Could not remove motd file (%s).\n",
                         msgfilepath);
-               return RET_SYS;
+               return RET_FAIL;
            }
            return RET_OK;
        } else
@@ -100,7 +100,7 @@ turn(void)
     if (fptr == NULL) {
        pr("Something went wrong opening the message file.\n");
        logerror("Could not open message file (%s).\n", msgfilepath);
-       return RET_SYS;
+       return RET_FAIL;
     }
 
     if (msgfilepath == downfil)
@@ -112,13 +112,13 @@ turn(void)
        pr("Something went wrong writing the message file.\n");
        logerror("Could not properly write message file (%s).\n",
            msgfilepath);
-       return RET_SYS;
+       return RET_FAIL;
     }
     if (fclose(fptr)) {
        pr("Something went wrong closing the message.\n");
        logerror("Could not properly close message file (%s).\n",
            msgfilepath);
-       return RET_SYS;
+       return RET_FAIL;
     }
 
     pr("\n");
index 10d16c17c229f80c0d6413fd0e0bd70b833a02e4..e91a502007ee67259202d9f74c1f392608fd3745 100644 (file)
@@ -113,9 +113,6 @@ dispatch(char *buf, char *redir)
     case RET_SYN:
        pr("Usage: %s\n", command->c_form);
        break;
-    case RET_SYS:
-       logerror("System error, command failed: %s", command->c_form);
-       break;
     default:
        CANT_REACH();
        break;
index e7c337d75a76976bec8731d94b7d1cc173a7960f..b4b9367169f0d32b7f0c2fe3beb5931fba2c01d6 100644 (file)
@@ -295,7 +295,7 @@ show_motd(void)
        else {
            pr ("Could not open motd.\n");
            logerror("Could not open motd (%s).\n", motdfil);
-           return RET_SYS;
+           return RET_FAIL;
        }
     }
     if (fread(&tgm, sizeof(tgm), 1, motd_fp) != 1) {