我正在使用PC-lint來分析我的代碼,這些線路正在產生一些錯誤。這讓我想知道我的編碼實踐是錯誤的嗎?這是不好的編碼習慣嗎?
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));
編輯: 你的幫助後,我現在有:
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);
}
}
那如何看?
和lint說什麼? – 2011-01-07 07:15:40
危險威爾羅賓遜!考慮使用`gcc -Wall -Wextra -pedantic`並更正任何警告。 – EnabrenTane 2011-01-07 07:16:58
不要從函數轉換返回值。如果你有這種功能的警告,你可能忘了包含相關的頭文件。 – 2011-01-07 08:32:35