int isspace(int ch)
ожидает значение в диапазоне unsigned char
или EOF
.Указатель не принимает указатель, используемый char *token; .... isspace(token)
Вместо ссылки на char
, на которую указывает token
.Поскольку char
может быть как signed char
или unsigned char
, страхование unsigned char
значения используются при передаче в is...()
функции.
// isspace(token)
isspace((unsigned char) *token)
if(*token != ':' || ...){
странно, так как это проходитвсе символы не ':'
, включая все пробелы.Эта часть кода ОП неясна.