ponteiro “valor calculado não é usado” na função c
Escrevi uma função que reduz uma string (sentença de palavras) no comprimento solicitado. Não quero que o recorte da frase esteja no meio de uma única palavra. Então pulo de volta n caracteres até chegar a um espaço e cortar a frase ali. Meu problema não é realmente um problema, ao compilar minha função emite um aviso que diz "aviso: o valor calculado não é usado", consulte a linha comentada no código. A função funciona como esperado. Então, ou eu sou cego ou estou demorando muito no meu projeto, na verdade não entendo esse aviso. Alguém poderia me indicar a falha na função?
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;
}
Meu compilador na máquina de desenvolvimento é "gcc versão 4.2.4 (Ubuntu 4.2.4-1ubuntu4)"