Annotation of 3BSD/cmd/uucp/sdmail.c, revision 1.1

1.1     ! root        1: #include "uucp.h"
        !             2: #include <pwd.h>
        !             3: 
        !             4: 
        !             5: /*******
        !             6:  *     sdmail(file, uid)
        !             7:  *     char *file, *uid;
        !             8:  *
        !             9:  *     sdmail  -  this routine will determine the owner
        !            10:  *     of the file (file), create a message string and
        !            11:  *     call "mailst" to send the cleanup message.
        !            12:  *     This is only implemented for local system
        !            13:  *     mail at this time.
        !            14:  */
        !            15: 
        !            16: sdmail(file, uid)
        !            17: char *file, *uid;
        !            18: {
        !            19:        static struct passwd *pwd;
        !            20:        struct passwd *getpwuid();
        !            21:        char mstr[40];
        !            22: 
        !            23:        sprintf(mstr, "uuclean deleted file %s\n", file);
        !            24:        if (pwd->pw_uid == uid) {
        !            25:                mailst(pwd->pw_name, mstr);
        !            26:        return(0);
        !            27:        }
        !            28: 
        !            29:        setpwent();
        !            30:        if ((pwd = getpwuid(uid)) != NULL) {
        !            31:                mailst(pwd->pw_name, mstr);
        !            32:        }
        !            33:        return(0);
        !            34: }
        !            35: 
        !            36: 
        !            37: /***
        !            38:  *     mailst(user, str)
        !            39:  *     char *user, *str;
        !            40:  *
        !            41:  *     mailst  -  this routine will fork and execute
        !            42:  *     a mail command sending string (str) to user (user).
        !            43:  */
        !            44: 
        !            45: mailst(user, str)
        !            46: char *user, *str;
        !            47: {
        !            48:        FILE *fp;
        !            49:        extern FILE *popen(), *pclose();
        !            50:        char cmd[100];
        !            51: 
        !            52:        sprintf(cmd, "mail %s", user);
        !            53:        if ((fp = popen(cmd, "w")) == NULL)
        !            54:                return;
        !            55:        fprintf(fp, "%s", str);
        !            56:        pclose(fp);
        !            57:        return;
        !            58: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.