[BACK]Return to chpass.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / chpass

Diff for /src/usr.bin/chpass/chpass.c between version 1.13 and 1.14

version 1.13, 1998/08/03 17:09:46 version 1.14, 1999/12/05 20:18:35
Line 67 
Line 67 
 #include "chpass.h"  #include "chpass.h"
 #include "pathnames.h"  #include "pathnames.h"
   
 char *tempname;  char tempname[] = __CONCAT(_PATH_VARTMP,"pw.XXXXXXXX");
 uid_t uid;  uid_t uid;
   
 extern char *__progname;  extern char *__progname;
Line 81 
Line 81 
 #endif  #endif
   
 void    baduser __P((void));  void    baduser __P((void));
   void    tempcleanup __P((void));
 void    usage __P((void));  void    usage __P((void));
   
 int  int
Line 91 
Line 92 
         enum { NEWSH, LOADENTRY, EDITENTRY } op;          enum { NEWSH, LOADENTRY, EDITENTRY } op;
         struct passwd *pw, lpw;          struct passwd *pw, lpw;
         int ch, pfd, tfd, dfd;          int ch, pfd, tfd, dfd;
         char *arg, tempname[] = __CONCAT(_PATH_VARTMP,"pw.XXXXXXXX");          char *arg;
   
 #ifdef  YP  #ifdef  YP
         use_yp = _yp_check(NULL);          use_yp = _yp_check(NULL);
Line 197 
Line 198 
                 dfd = mkstemp(tempname);                  dfd = mkstemp(tempname);
                 if (dfd == -1 || fcntl(dfd, F_SETFD, 1) == -1)                  if (dfd == -1 || fcntl(dfd, F_SETFD, 1) == -1)
                         pw_error(tempname, 1, 1);                          pw_error(tempname, 1, 1);
                   atexit(tempcleanup);
                 display(tempname, dfd, pw);                  display(tempname, dfd, pw);
                 edit(tempname, pw);                  edit(tempname, pw);
                 (void)unlink(tempname);  
         }          }
   
 #ifdef  YP  #ifdef  YP
Line 230 
Line 231 
 {  {
   
         errx(1, "%s", strerror(EACCES));          errx(1, "%s", strerror(EACCES));
   }
   
   void
   tempcleanup()
   {
   
           unlink(tempname);
 }  }
   
 void  void

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.14