#include "includes.h"

int strccmp(const char **arr, const char *cmp)
{
	const char **arr_cp;

	arr_cp = arr;
	while(*arr_cp) {
		if(!strcasecmp((*arr_cp), cmp))
			return arr_cp-arr;
		arr_cp++;
	}

	return -1;
}

bool args(char *str, int *argc, char ***argv)
{
	size_t siz;
	char *scp;

	if(!str || !argc || !argv)
		return false;

	scp = str;
	siz = (*argc) = 0;
	(*argv) = NULL;

	while(*scp) {
		if((*argc) == siz) {
			siz += 16;
			(*argv) = realloc((*argv), sizeof((**argv))*siz);
			if(!(*argv)) return false;
			(*argv)[0] = 0;
			(*argv)[1] = 0;
		}
		if(isspace(*scp))
			*scp = '\0';
		else if((*scp) == '\"') {
			char *tmp;

			*scp = '\0';
			(*argv)[(*argc)++] = scp+1;
			tmp = strchr(scp+1, '\"');
			if(!tmp) break;
			else {
				*tmp = '\0';
				scp  = tmp;
			}
		} else if(scp == str || !*(scp-1))
			(*argv)[(*argc)++] = scp;
		scp++;
	}
	printf("%d\n", *argc);

	return true;
}
