1*219b2ee8SDavid du Colombier #include <u.h> 2*219b2ee8SDavid du Colombier #include <libc.h> 3*219b2ee8SDavid du Colombier 4*219b2ee8SDavid du Colombier int 5*219b2ee8SDavid du Colombier tokenize(char *str, char **args, int max) 6*219b2ee8SDavid du Colombier { 7*219b2ee8SDavid du Colombier int na; 8*219b2ee8SDavid du Colombier 9*219b2ee8SDavid du Colombier na = 0; 10*219b2ee8SDavid du Colombier while (na < max) { 11*219b2ee8SDavid du Colombier while(*str == ' ' && *str != '\0') 12*219b2ee8SDavid du Colombier str++; 13*219b2ee8SDavid du Colombier args[na++] = str; 14*219b2ee8SDavid du Colombier while(!(*str == ' ') && *str != '\0') 15*219b2ee8SDavid du Colombier str++; 16*219b2ee8SDavid du Colombier 17*219b2ee8SDavid du Colombier if(*str == '\n') 18*219b2ee8SDavid du Colombier *str = '\0'; 19*219b2ee8SDavid du Colombier 20*219b2ee8SDavid du Colombier if(*str == '\0') 21*219b2ee8SDavid du Colombier break; 22*219b2ee8SDavid du Colombier 23*219b2ee8SDavid du Colombier *str++ = '\0'; 24*219b2ee8SDavid du Colombier } 25*219b2ee8SDavid du Colombier return na; 26*219b2ee8SDavid du Colombier } 27