В моем коде у меня есть
char* s = strchr(first,'/');
if(s==NULL) s = "";
else s = s+1;
Но мой компилятор gcc жалуется на предпоследнюю строку с
warning: assignment discards qualifiers from pointer target type
Из того, что я понимаю о ANSI C, это потому, что я устанавливаю s (неконстантное значение) в строковый литерал (константное значение). (Я здесь не прав?) Но мне нужно, чтобы s был неконстантным (потому что я могу изменить его значение, добавив к нему 1), и мне также нужно установить s в пустой строковый литерал. Есть ли у меня какие-либо варианты с точки зрения лучшего дизайна кода здесь для достижения этих двух целей без крика компилятора?
У меня включен флаг -Wwrite-strings.