Ich verwende PC-Lint, um meinen Code zu analysieren, und diese Zeilen erzeugen mehrere Fehler. Das lässt mich fragen, ob meine Codierungspraxis falsch ist?Ist das eine schlechte Programmierpraxis?
char *start;
char *end;
// Extract the phone number
start = (char*) (strchr(data, '\"') +1);
end = (char*) strchr(start, '\"');
*end = 0;
strlcpy((char*)Fp_smsSender, start , start-(end-1));
EDIT: Nach Ihrer Hilfe, ich habe jetzt:
char *start;
char *end;
if (data != NULL)
{
// Extract the phone number
start = strchr(data, '\"');
if (start != NULL)
{
++start;
end = strchr(start, '\"');
if (end != NULL)
{
*end = 0;
strlcpy((char*)Fp_smsSender, start , FP_MAX_PHONE);
}
}
Wie das aus?
und was hat Lint gesagt? –
Gefahr wird Robinson! Erwägen Sie die Verwendung von 'gcc -Wall -Wextra -pedantic' und korrigieren Sie alle Warnungen. – EnabrenTane
Wirf keine Rückgabewerte von Funktionen. Wenn Sie Warnungen für eine solche Funktion haben, haben Sie wahrscheinlich vergessen, die entsprechende Header-Datei hinzuzufügen. –