if (cnt < *bytes - 1) cnt++; else break;
if (cnt < *bytes - 1) cnt++; else break; } while (t == -1); if (t < 0) command = -1;
int searche_key_words(char buf[], int *bytes, char *parms, int *parmsbytes, char restbuf[], int *restbytes){    static char cmpstr[MAX_CMPSTRLEN];    static int cmpstrbyte = 0;    static int command = -1;    int cmdstpos = 0;    int cnt = 0;    int t = 0;    if (cmpstrbyte != 0) {	memmove(buf + cmpstrbyte, buf, *bytes);	*bytes += cmpstrbyte;	strncpy(buf, cmpstr, cmpstrbyte);	cmpstrbyte = 0;	for (cnt = 0; !eol(buf[cnt]) && cnt < *bytes - 1; cnt++);	if (cnt == *bytes - 1 && !eol(buf[cnt])) {	    printf("Problem!!!\n");	    command = -1;	    *restbytes = 0;	    *parmsbytes = 0;	    return -1;	}    }    if (command == -1) {	cnt = 0;	do {	    command = 0;	    cmdstpos = cnt;	    do {		if ((t = compstr(key_words[command], &buf[cnt], *bytes - cnt)) != -1)		    break;	    }	    while (*key_words[++command] != '\0');	    for (; !eol(buf[cnt]) && cnt < *bytes - 1; cnt++);	    if (cnt < *bytes - 1)		cnt++;	    else		break;	}	while (t == -1);	if (t < 0)	    command = -1;    }    if (t == -2 || (command != -1 && cnt == *bytes - 1 && !eol(buf[*bytes - 1]))) {	cmpstrbyte = *bytes - cmdstpos;	strncpy(cmpstr, &buf[cmdstpos], cmpstrbyte);	cmpstr[cmpstrbyte] = 0;	*bytes -= cmpstrbyte;	*restbytes = 0;	return -1;    }    if (t == -1) {	command = -1;	cmpstrbyte = 0;	*restbytes = 0;	return -1;    }    t = cmdstpos + strlen(key_words[command]);    *restbytes = *bytes - cnt;    strncpy(parms, &buf[t], cnt - t);    *parmsbytes = cnt - t;    strncpy(restbuf, buf + cnt, *restbytes);    *bytes = cmdstpos;    t = command;    command = -1;    return t;}