home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume1 / 8708 / 24 / genv.c < prev    next >
Encoding:
C/C++ Source or Header  |  1990-07-13  |  2.9 KB  |  154 lines

  1. /*         genv.c
  2.  
  3.  
  4.  
  5.         copyright (C) 1987 Stuart Lynne
  6.  
  7.         Copying and use of this program are controlled by the terms of the
  8.         Free Software Foundations GNU Emacs General Public License.
  9.  
  10.  
  11.         version        0.1        March 31/1987
  12.  
  13.  
  14.  
  15. */
  16.  
  17. #ifdef UNIX
  18. #include <sys/types.h>
  19. #endif
  20. #ifdef slmacaztec
  21. #include <mac/types.h>
  22. #endif
  23.  
  24. #include <stdio.h>
  25.  
  26. #include "genv.h"
  27.  
  28. #define DMAILBOX    "mailbox"
  29. #define    DNAME        ""
  30. #define DHOME        "/usr/guest"
  31. #define    DDOMAIN        "pc.uucp"
  32. #define    DMAILDIR    "/usr/mail"
  33. #define    DCONFDIR    "/usr/lib/uucp"
  34. #define    DSPOOLDIR    "/usr/spool/uucp"
  35. #define DPUBDIR        "/usr/spool/uucppublic"
  36. #define    DMAILSERVICE    "host"
  37. #define    DNODENAME    ""
  38. #define    DDEVICE        ".a"
  39. #define    DSPEED        "1200"
  40. #define    DTEMPDIR    "/tmp"
  41.  
  42.  
  43. #define    TFILENAME    "tmpfile"
  44. #define    FILENAME     "%s/%s"
  45.  
  46. char *getenv();
  47.  
  48. void genv();
  49.  
  50. #ifdef SLAZTECMAC
  51.  
  52. char    rmailbox[64];
  53. char    rname[64];
  54. char    rhome[64];
  55. char    rdomain[64];
  56. char    rmaildir[64];
  57. char    rconfdir[64];
  58. char    rspooldir[64];
  59. char    rpubdir[64];
  60. char    rmailserv[16];
  61. char     rnodename[16];
  62. char     rdevice[16];
  63. char     rspeed[8];
  64. char    rtempdir[64];
  65.  
  66. char    *mailbox = rmailbox;
  67. char    *name = rname;
  68. char    *home = rhome;
  69. char    *domain = rdomain;
  70. char    *maildir = rmaildir;
  71. char    *confdir = rconfdir;
  72. char    *spooldir = rspooldir;
  73. char    *pubdir = rpubdir;
  74. char    *mailserv = rmailserv;
  75. char     *nodename = rnodename;
  76. char     *device = rdevice;
  77. char     *speed = rspeed;
  78. char    *tempdir = rtempdir;
  79.  
  80.  
  81. void genv(thename, envname, dflt)
  82. char **thename;
  83. char *envname;
  84. char *dflt;
  85. {
  86.     char * temp;
  87.     
  88.     if ((temp = getenv( envname )) == NULL) {
  89.         /* fprintf( stderr, "genv: %s not found, using %s\n", envname, dflt ); /* */
  90.         temp = dflt;
  91.     }
  92.     strcpy( *thename, temp );
  93.     /*  fprintf( stderr, "genv: %s %s\n", envname, *thename ); /**/
  94. }
  95. #else
  96.  
  97. char    *mailbox;
  98. char    *name;
  99. char    *domain;
  100. char    *maildir;
  101. char     *spooldir;
  102. char    *pubdir;
  103. char    *confdir;
  104. char    *mailserv;
  105.  
  106. void genv(thename, envname, dflt)
  107. char **thename;
  108. char *envname;
  109. char *dflt;
  110. {
  111.     if ((*thename = getenv( envname )) == NULL) {
  112.         fprintf( stderr, "genv: %s not found, using %s\n", envname, dflt );
  113.         *thename = dflt;
  114.     }
  115.     /* fprintf( stderr, "genv: %s %s\n", envname, *thename ); /**/
  116. }
  117. #endif
  118.  
  119. void loadenv()
  120. {
  121.     /* get environment var's */
  122.     genv( &name, NAME, DNAME );
  123.     genv( &mailbox, MAILBOX, DMAILBOX );
  124.     genv( &home, HOME, DHOME );
  125.     genv( &domain, DOMAIN, DDOMAIN );
  126.     genv( &maildir, MAILDIR, DMAILDIR );
  127.     genv( &confdir, CONFDIR, DCONFDIR );
  128.     genv( &spooldir, SPOOLDIR, DSPOOLDIR );
  129.     genv( &pubdir, PUBDIR, DPUBDIR );
  130.     genv( &mailserv, MAILSERVICE, DMAILSERVICE );
  131.     genv( &nodename, NODENAME, DNODENAME );
  132.     genv( &device, DEVICE, DDEVICE );
  133.     genv( &speed, SPEED, DSPEED );
  134.     genv( &tempdir, TEMPDIR, DTEMPDIR );
  135. }
  136.  
  137. void mkfilename( filename, dirname, name )
  138. char * filename;
  139. char * dirname;
  140. char * name;
  141. {
  142.     sprintf( filename, FILENAME, dirname, name );    
  143.     /* fprintf( stderr, "New filename %s\n", filename );  /**/    
  144. }
  145.  
  146.  
  147. #ifdef TEST
  148. main()
  149. {
  150.     loadenv();
  151. }
  152. #endif
  153.  
  154.