added command clobber which recurses, clobbering the stack
[unix-history] / usr / src / usr.bin / mail / cmdtab.c
index 5733fc1..7265b23 100644 (file)
@@ -8,7 +8,7 @@
  * Define all of the command names and bindings.
  */
 
  * Define all of the command names and bindings.
  */
 
-static char *SccsId = "@(#)cmdtab.c    1.4 %G%";
+static char *SccsId = "@(#)cmdtab.c    2.1 %G%";
 
 extern int type(), preserve(), delete(), undelete(), next(), shell(), schdir();
 extern int save(), help(), headers(), pdot(), strace(), respond(), editor();
 
 extern int type(), preserve(), delete(), undelete(), next(), shell(), schdir();
 extern int save(), help(), headers(), pdot(), strace(), respond(), editor();
@@ -16,7 +16,7 @@ extern int edstop(), exit(), pcmdlist(), sendmail(), from();
 extern int messize(), psalloc(), deltype(), unset(), set(), source();
 extern int pversion(), group(), top(), core(), null(), stouch(), visual();
 extern int swrite(), dosh(), file(), echo(), Respond(), scroll(), ifcmd();
 extern int messize(), psalloc(), deltype(), unset(), set(), source();
 extern int pversion(), group(), top(), core(), null(), stouch(), visual();
 extern int swrite(), dosh(), file(), echo(), Respond(), scroll(), ifcmd();
-extern int elsecmd(), endifcmd();
+extern int elsecmd(), endifcmd(), mboxit();
 
 struct cmd cmdtab[] = {
        "next",         next,           NDMLIST,        0,      MMNDEL,
 
 struct cmd cmdtab[] = {
        "next",         next,           NDMLIST,        0,      MMNDEL,
@@ -32,8 +32,8 @@ struct cmd cmdtab[] = {
        "dt",           deltype,        W|MSGLIST,      0,      MMNDEL,
        "undelete",     undelete,       P|MSGLIST,      MDELETED,MMNDEL,
        "unset",        unset,          M|RAWLIST,      1,      1000,
        "dt",           deltype,        W|MSGLIST,      0,      MMNDEL,
        "undelete",     undelete,       P|MSGLIST,      MDELETED,MMNDEL,
        "unset",        unset,          M|RAWLIST,      1,      1000,
-       "mail",         sendmail,       M|I|STRLIST,    0,      0,
-       "mbox",         stouch,         W|MSGLIST,      0,      0,
+       "mail",         sendmail,       R|M|I|STRLIST,  0,      0,
+       "mbox",         mboxit,         W|MSGLIST,      0,      0,
        "!",            shell,          I|STRLIST,      0,      0,
        "chdir",        schdir,         M|STRLIST,      0,      0,
        "cd",           schdir,         M|STRLIST,      0,      0,
        "!",            shell,          I|STRLIST,      0,      0,
        "chdir",        schdir,         M|STRLIST,      0,      0,
        "cd",           schdir,         M|STRLIST,      0,      0,
@@ -51,21 +51,21 @@ struct cmd cmdtab[] = {
        "headers",      headers,        MSGLIST,        0,      MMNDEL,
        "help",         help,           M|NOLIST,       0,      0,
        "=",            pdot,           NOLIST,         0,      0,
        "headers",      headers,        MSGLIST,        0,      MMNDEL,
        "help",         help,           M|NOLIST,       0,      0,
        "=",            pdot,           NOLIST,         0,      0,
-       "Reply",        Respond,        I|MSGLIST,      0,      MMNDEL,
-       "Respond",      Respond,        I|MSGLIST,      0,      MMNDEL,
-       "reply",        respond,        I|MSGLIST,      0,      MMNDEL,
-       "respond",      respond,        I|MSGLIST,      0,      MMNDEL,
+       "Reply",        Respond,        R|I|MSGLIST,    0,      MMNDEL,
+       "Respond",      Respond,        R|I|MSGLIST,    0,      MMNDEL,
+       "reply",        respond,        R|I|MSGLIST,    0,      MMNDEL,
+       "respond",      respond,        R|I|MSGLIST,    0,      MMNDEL,
        "edit",         editor,         I|MSGLIST,      0,      MMNORM,
        "edit",         editor,         I|MSGLIST,      0,      MMNORM,
-       "echo",         echo,           RAWLIST,        0,      1000,
+       "echo",         echo,           M|RAWLIST,      0,      1000,
        "quit",         edstop,         NOLIST,         0,      0,
        "list",         pcmdlist,       M|NOLIST,       0,      0,
        "xit",          exit,           M|NOLIST,       0,      0,
        "exit",         exit,           M|NOLIST,       0,      0,
        "size",         messize,        MSGLIST,        0,      MMNDEL,
        "hold",         preserve,       W|MSGLIST,      0,      MMNDEL,
        "quit",         edstop,         NOLIST,         0,      0,
        "list",         pcmdlist,       M|NOLIST,       0,      0,
        "xit",          exit,           M|NOLIST,       0,      0,
        "exit",         exit,           M|NOLIST,       0,      0,
        "size",         messize,        MSGLIST,        0,      MMNDEL,
        "hold",         preserve,       W|MSGLIST,      0,      MMNDEL,
-       "if",           ifcmd,          C|RAWLIST,      1,      1,
-       "else",         elsecmd,        C|RAWLIST,      0,      0,
-       "endif",        endifcmd,       C|RAWLIST,      0,      0,
+       "if",           ifcmd,          F|M|RAWLIST,    1,      1,
+       "else",         elsecmd,        F|M|RAWLIST,    0,      0,
+       "endif",        endifcmd,       F|M|RAWLIST,    0,      0,
        "core",         core,           M|NOLIST,       0,      0,
        "#",            null,           M|NOLIST,       0,      0,
        0,              0,              0,              0,      0
        "core",         core,           M|NOLIST,       0,      0,
        "#",            null,           M|NOLIST,       0,      0,
        0,              0,              0,              0,      0