port.c
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:1k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. #ifndef _POSIX_SOURCE
  2. #include <libc.h>
  3. #else
  4. #include <unistd.h>
  5. #include <stdlib.h>
  6. #endif
  7. #include <string.h>
  8. #include <sys/signal.h>
  9. void
  10. putenv(char *name)
  11. {
  12. extern char **environ;
  13. static int was_mallocated = 0;
  14. int size;
  15. /* Compute the size of environ array including the final NULL */
  16. for (size = 1; environ[size++];)
  17.  /* nothing */ ;
  18. if (!was_mallocated)
  19. {
  20. char   **tmp = environ;
  21. int i;
  22. was_mallocated = 1;
  23. environ = malloc(size * sizeof(char *));
  24. for (i = 0; i < size; i++)
  25. environ[i] = tmp[i];
  26. }
  27. environ = realloc(environ, (size + 1) * sizeof(char *));
  28. environ[size - 1] = strcpy(malloc(strlen(name) + 1), name);
  29. environ[size] = NULL;
  30. }
  31. #ifndef _POSIX_SOURCE
  32. int
  33. sigaddset(int *set, int signo)
  34. {
  35. *set |= sigmask(signo);
  36. return *set;
  37. }
  38. int
  39. sigemptyset(int *set)
  40. {
  41. return *set = 0;
  42. }
  43. char *
  44. getcwd(char *buf, size_t size)
  45. {
  46. return getwd(buf);
  47. }
  48. #endif