const char *value = getenv (variable);  (void) strlen (value);
const size_t len = strlen (variable); char *value = NULL; char *volatile *ep = __environ; while (*ep) { const char *p = *ep; _hurdsig_fault_preempter.first = (long int) p; _hurdsig_fault_preempter.last = VM_MAX_ADDRESS; if (! strncmp (p, variable, len) && p[len] == '=') { char *value; size_t valuelen; p += len + 1; valuelen = strlen (p); _hurdsig_fault_preempter.last = (long int) (p + valuelen); value = malloc (++valuelen); if (value) memcpy (value, p, valuelen); break; } _hurdsig_fault_preempter.first = (long int) ++ep; _hurdsig_fault_preempter.last = (long int) (ep + 1); }
_hurdsig_getenv (const char *variable){  if (_hurdsig_catch_fault (SIGSEGV))    /* We bombed in getenv.  */    return NULL;  else    {      const char *value = getenv (variable);      /* Fault now if VALUE is a bogus string.  */      (void) strlen (value);      _hurdsig_end_catch_fault ();      return value;    }}