3
當我們需要在wordexp失敗時調用wordfree嗎?在某些情況下調用wordfree似乎會出現段錯誤(例如,當wordfree返回帶有字符串的錯誤代碼是「foo」欄)時。 這是不明確從手冊頁,我已經看到在一些錯誤情況下使用wordfree。當我們需要在wordexp失敗時調用wordfree嗎?
當我們需要在wordexp失敗時調用wordfree嗎?在某些情況下調用wordfree似乎會出現段錯誤(例如,當wordfree返回帶有字符串的錯誤代碼是「foo」欄)時。 這是不明確從手冊頁,我已經看到在一些錯誤情況下使用wordfree。當我們需要在wordexp失敗時調用wordfree嗎?
按照GNU's manual example,應該對錯誤只調用是否返回WRDE_NOSPACE
:
switch (wordexp (program, &result, 0))
{
case 0: /* Successful. */
break;
case WRDE_NOSPACE:
/* If the error was WRDE_NOSPACE,
then perhaps part of the result was allocated. */
wordfree (&result);
default: /* Some other error. */
return -1;
}