<html><p>При взаимодействии с strsep() замена strncmp() на strcmp() имеет место быть в совокупности.<br><br>Прошу прощения, смотрел не ту версию strim(), предлагаю отправить новую версию лишь с </p><p>изменением sscanf() на strim().<br><br>Вторник, Июнь 23, 2026 13:37 MSK, Fedor Pchelkin <pchelkin@ispras.ru> писал(а):<br><br> </p><blockquote type="cite" cite="20260623132932-81ceba2a8e48cd5ceca82e96-pchelkin@ispras"><p>On Tue, 23. Jun 13:26, Марков Глеб Игоревич wrote:<br>> Замена strncmp() на менее (на первый взгляд) безопасный strcmp() гарантирует<br>> корректность, поскольку его значение явно определено и работа с изолированным токеном,<br>> имхо, является более безопасным вариантом, чем использовать внешний count при сравнении.<br><br>Зачем это делать в текущем патче? Это как-то относится к решаемой<br>проблеме?<br><br>> Альтернатива в виде strim() тоже отпадает, поскольку обрезается лишь значение после токена,<br>> а теоретические лидирующие пробелы не отпадают, а значит работа будет вестить с<br>> некорректным значением.<br><br>/**<br>* strim - Removes leading and trailing whitespace from @s.<br>* @s: The string to be stripped.<br>*<br>* Note that the first trailing whitespace is replaced with a %NUL-terminator<br>* in the given string @s. Returns a pointer to the first non-whitespace<br>* character in @s.<br>*/<br>char *strim(char *s)<br>{<br>size_t size;<br>char *end;<br><br>size = strlen(s);<br>if (!size)<br>return s;<br><br>end = s + size - 1;<br>while (end >= s && isspace(*end))<br>end--;<br>*(end + 1) = '\0';<br><br>return skip_spaces(s);<br>}<br>EXPORT_SYMBOL(strim);<br> </p></blockquote><p><br><br><br> </p></html>