home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / APPS / elm.lzh / ELM / SRC / VALIDNAME.C < prev   
Text File  |  1991-01-11  |  2KB  |  64 lines

  1.  
  2. static char rcsid[] = "@(#)$Id: validname.c,v 4.1 90/04/28 22:44:21 syd Exp $";
  3.  
  4. /*******************************************************************************
  5.  *  The Elm Mail System  -  $Revision: 4.1 $   $State: Exp $
  6.  *
  7.  *             Copyright (c) 1986, 1987 Dave Taylor
  8.  *             Copyright (c) 1988, 1989, 1990 USENET Community Trust
  9.  *******************************************************************************
  10.  * Bug reports, patches, comments, suggestions should be sent to:
  11.  *
  12.  *    Syd Weinstein, Elm Coordinator
  13.  *    elm@DSI.COM            dsinc!elm
  14.  *
  15.  *******************************************************************************
  16.  * $Log:    validname.c,v $
  17.  * Revision 4.1  90/04/28  22:44:21  syd
  18.  * checkin of Elm 2.3 as of Release PL0
  19.  * 
  20.  *
  21.  ******************************************************************************/
  22.  
  23. #include "defs.h"
  24.  
  25. #include <stdio.h>
  26.  
  27. #ifndef NOCHECK_VALIDNAME         /* Force a return of valid */
  28. # ifdef PWDINSYS
  29. #  include <sys/pwd.h>
  30. # else
  31. #  include <pwd.h>
  32. # endif
  33. #endif
  34.  
  35. int
  36. valid_name(name)
  37. char *name;
  38. {
  39.     /** Determine whether "name" is a valid logname on this system.
  40.         It is valid if there is a password entry, or if there is
  41.         a mail file in the mail spool directory for "name".
  42.      **/
  43.  
  44. #ifdef NOCHECK_VALIDNAME         /* Force a return of valid */
  45.  
  46.     return(TRUE);
  47.  
  48. #else
  49.  
  50.     char filebuf[SLEN];
  51.     struct passwd *getpwnam();
  52.  
  53.     if(getpwnam(name) != NULL)
  54.       return(TRUE);
  55.  
  56.     sprintf(filebuf,"%s/%s", mailhome, name);
  57.     if (access(filebuf, ACCESS_EXISTS) == 0)
  58.       return(TRUE);
  59.  
  60.     return(FALSE);
  61.  
  62. #endif
  63. }
  64.