26 #include "dbus-internals.h"
27 #include "dbus-sysdeps.h"
28 #include "dbus-threads.h"
29 #include "dbus-protocol.h"
30 #include "dbus-string.h"
31 #include "dbus-list.h"
32 #include "dbus-misc.h"
52 #elif (defined __APPLE__)
53 # include <crt_externs.h>
54 # define environ (*_NSGetEnviron())
55 #elif HAVE_DECL_ENVIRON && defined(HAVE_UNISTD_H)
58 extern char **environ;
130 len = strlen (varname);
136 putenv_value = malloc (len + 2);
137 if (putenv_value ==
NULL)
140 strcpy (putenv_value, varname);
141 #if defined(DBUS_WIN)
142 strcat (putenv_value,
"=");
145 return (putenv (putenv_value) == 0);
151 return (setenv (varname, value,
TRUE) == 0);
158 varname_len = strlen (varname);
159 value_len = strlen (value);
161 len = varname_len + value_len + 1 ;
167 putenv_value = malloc (len + 1);
168 if (putenv_value ==
NULL)
171 strcpy (putenv_value, varname);
172 strcpy (putenv_value + varname_len,
"=");
173 strcpy (putenv_value + varname_len + 1, value);
175 return (putenv (putenv_value) == 0);
194 return getenv (varname);
208 if (clearenv () != 0)
360 #define MAX_LONG_LEN ((sizeof (long) * 8 + 2) / 3 + 1)
372 snprintf (buf, MAX_LONG_LEN,
"%ld", value);
398 #define MAX_ULONG_LEN (MAX_LONG_LEN * 2)
410 snprintf (buf, MAX_ULONG_LEN,
"%lu", value);
451 v = strtol (p, &end, 0);
452 if (end ==
NULL || end == p || errno != 0)
458 *end_return = start + (end - p);
478 unsigned long *value_return,
490 v = strtoul (p, &end, 0);
491 if (end ==
NULL || end == p || errno != 0)
497 *end_return = start + (end - p);
526 _DBUS_SET_OOM (error);
556 static const char letters[] =
557 "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";
570 (
sizeof (letters) - 1)]);
594 switch (error_number)
599 #ifdef EPROTONOSUPPORT
600 case EPROTONOSUPPORT:
602 #elif defined(WSAEPROTONOSUPPORT)
603 case WSAEPROTONOSUPPORT:
609 #elif defined(WSAEAFNOSUPPORT)
610 case WSAEAFNOSUPPORT:
640 #elif defined(WSAECONNREFUSED)
641 case WSAECONNREFUSED:
647 #elif defined(WSAETIMEDOUT)
654 #elif defined(WSAENETUNREACH)
661 #elif defined(WSAEADDRINUSE)
740 return e == ETOOMANYREFS;
753 return _dbus_strerror (errno);
769 va_start (args, msg);