added extra doignore argument to send() calls
[unix-history] / usr / src / usr.bin / mail / names.c
index 5fb1aa2..73af4c6 100644 (file)
@@ -8,7 +8,7 @@
 
 #include "rcv.h"
 
 
 #include "rcv.h"
 
-static char *SccsId = "@(#)names.c     2.3 %G%";
+static char *SccsId = "@(#)names.c     2.6 %G%";
 
 /*
  * Allocate a single element of a name list,
 
 /*
  * Allocate a single element of a name list,
@@ -306,6 +306,7 @@ outof(names, fo, hp)
                        wait(&s);
                        switch (pid = fork()) {
                        case 0:
                        wait(&s);
                        switch (pid = fork()) {
                        case 0:
+                               sigchild();
                                sigsys(SIGHUP, SIG_IGN);
                                sigsys(SIGINT, SIG_IGN);
                                sigsys(SIGQUIT, SIG_IGN);
                                sigsys(SIGHUP, SIG_IGN);
                                sigsys(SIGINT, SIG_IGN);
                                sigsys(SIGQUIT, SIG_IGN);
@@ -394,6 +395,8 @@ isfileaddr(name)
 
        if (any('@', name))
                return(0);
 
        if (any('@', name))
                return(0);
+       if (*name == '+')
+               return(1);
        for (cp = name; *cp; cp++) {
                if (*cp == '.')
                        continue;
        for (cp = name; *cp; cp++) {
                if (*cp == '.')
                        continue;
@@ -609,7 +612,7 @@ mechk(names)
        register struct name *np;
 
        for (np = names; np != NIL; np = np->n_flink)
        register struct name *np;
 
        for (np = names; np != NIL; np = np->n_flink)
-               if ((np->n_type & GDEL) == 0 && equal(myname, np->n_name)) {
+               if ((np->n_type & GDEL) == 0 && equal(np->n_name, myname)) {
                        selfsent++;
                        return;
                }
                        selfsent++;
                        return;
                }
@@ -768,7 +771,6 @@ count(np)
 /*
  * Delete the given name from a namelist.
  */
 /*
  * Delete the given name from a namelist.
  */
-
 struct name *
 delname(np, name)
        register struct name *np;
 struct name *
 delname(np, name)
        register struct name *np;
@@ -777,7 +779,7 @@ delname(np, name)
        register struct name *p;
 
        for (p = np; p != NIL; p = p->n_flink)
        register struct name *p;
 
        for (p = np; p != NIL; p = p->n_flink)
-               if (equal(p->n_name, name)) {
+               if (icequal(p->n_name, name)) {
                        if (p->n_blink == NIL) {
                                if (p->n_flink != NIL)
                                        p->n_flink->n_blink = NIL;
                        if (p->n_blink == NIL) {
                                if (p->n_flink != NIL)
                                        p->n_flink->n_blink = NIL;