home *** CD-ROM | disk | FTP | other *** search
/ RISC DISC 1 / RISC_DISC_1.iso / pd_share / code / unixlib / !UnixLib / src / unix / c / putenv < prev    next >
Encoding:
Text File  |  1994-09-30  |  700 b   |  48 lines

  1. #ifdef __STDC__
  2. static char sccs_id[] = "@(#) putenv.c 1.1 " __DATE__ " HJR";
  3. #else
  4. static char sccs_id[] = "@(#) putenv.c 1.1 26/9/90 HJR";
  5. #endif
  6.  
  7. /* putenv.c (c) Copyright 1990 H.Rogers */
  8.  
  9. #include <stdlib.h>
  10. #include <string.h>
  11.  
  12. #include "sys/os.h"
  13. #include "sys/unix.h"
  14.  
  15. #ifdef __STDC__
  16. int
  17. putenv (register char *s)
  18. #else
  19. int
  20. putenv (s)
  21.      register char *s;
  22. #endif
  23. {
  24.   register char *v;
  25.   int r[10];
  26.   os_error *e;
  27.  
  28.   if (!(v = strchr (s, '=')))
  29.     return (-1);
  30.  
  31.   __addenv (s, 0);
  32.  
  33.   *v++ = 0;
  34.   r[0] = (int) s;
  35.   r[1] = (int) v;
  36.   r[2] = strlen (v);
  37.   r[3] = 0;
  38.   r[4] = 0;
  39.   e = os_swi (0x24, r);
  40.   *--v = '=';
  41.   if (e)
  42.     {
  43.       __seterr (e);
  44.       return (-1);
  45.     }
  46.   return (0);
  47. }
  48.