12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- /* Compatibility functions for strsep and strtoq missing on Solaris */
- #include <sys/types.h>
- #include <stdio.h>
- #include "asterisk/compat.h"
- char* strsep(char** str, const char* delims)
- {
- char* token;
- if (*str==NULL) {
- /* No more tokens */
- return NULL;
- }
- token=*str;
- while (**str!='\0') {
- if (strchr(delims,**str)!=NULL) {
- **str='\0';
- (*str)++;
- return token;
- }
- (*str)++;
- }
- /* There is no other token */
- *str=NULL;
- return token;
- }
- int setenv(const char *name, const char *value, int overwrite)
- {
- unsigned char *buf;
- int buflen;
- buflen = strlen(name) + strlen(value) + 2;
- if (!(buf = alloca(buflen)))
- return -1;
- if (!overwrite && getenv(name))
- return 0;
- snprintf(buf, buflen, "%s=%s", name, value);
- return putenv(buf);
- }
- int unsetenv(const char *name)
- {
- return setenv(name, "", 0);
- }
|