#include "common.h" size_t launchAddArg(argData_s* ad, const char* arg) { size_t len = strlen(arg)+1; if ((ad->dst+len) >= (char*)(ad->buf + sizeof(ad->buf))) return len; // Overflow ad->buf[0]++; strcpy(ad->dst, arg); ad->dst += len; return len; } void launchAddArgsFromString(argData_s* ad, char* arg) { char c, *pstr, *str=arg, *endarg = arg+strlen(arg); do { do { c = *str++; } while ((c == ' ' || c == '\t') && str < endarg); pstr = str-1; if (c == '\"') { pstr++; while(*str++ != '\"' && str < endarg); } else if (c == '\'') { pstr++; while(*str++ != '\'' && str < endarg); } else { do { c = *str++; } while (c != ' ' && c != '\t' && str < endarg); } str--; if (str == (endarg - 1)) { if(*str == '\"' || *str == '\'') *(str++) = 0; else str++; } else { *(str++) = '\0'; } launchAddArg(ad, pstr); } while(str