12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- /* 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, ret;
- buflen = strlen(name) + strlen(value) + 2;
- if ((buf = malloc(buflen)) == NULL)
- return -1;
- if (!overwrite && getenv(name))
- return 0;
- snprintf(buf, buflen, "%s=%s", name, value);
- ret = putenv(buf);
- free(buf);
- return ret;
- }
- int unsetenv(const char *name)
- {
- setenv(name,"",0);
- }
|