Компилятор предупреждает вас, что значение выражения не используется :-)
исал функцию, которая сокращает строку (предложение слов) на требуемую длину. Я не хочу, чтобы отрезок предложения был в середине одного слова. Поэтому я пропускаю n символов до тех пор, пока не достигну пробела и не обрежу там строку предложения. Моя проблема на самом деле не проблема, компиляция моей функции выдает предупреждение «предупреждение: вычисленное значение не используется», см. Строку с комментариями в коде. Функция работает, как ожидалось, хотя. Так что либо я слепой, либо слишком долго сижу в своем проекте, на самом деле я не понимаю этого предупреждения. Кто-нибудь может указать мне недостаток в функции?
char *
str_cut(char *s, size_t len) {
char *p = NULL;
int n = 3;
p = s + len;
if (p < (s + strlen (s))) {
/*
* do not cut string in middle of a word.
* if cut-point is no space, reducue string until space reached ...
*/
if (*p != ' ')
while (*p != ' ')
*p--; // TODO: triggers warning: warning: value computed is not used
/* add space for dots and extra space, terminate string */
p += n + 1;
*p = '\0';
/* append dots */
while (n-- && (--p > s))
*p = '.';
}
return s;
}
Мой компилятор на машине для разработки - "gcc версии 4.2.4 (Ubuntu 4.2.4-1ubuntu4)"