home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Trees / V7 / usr / src / cmd / uucp / sdmail.c < prev    next >
Encoding:
C/C++ Source or Header  |  1979-01-10  |  1.0 KB  |  59 lines

  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. }
  59.