int wcs2sig(const wchar_t *str) { for (const auto &data : signal_table) { if (match_signal_name(data.name, str)) { return data.signal; } } int res = fish_wcstoi(str); if (errno || res < 0) return -1; return res; }
int wcs2sig(const wchar_t *str) { int i; wchar_t *end = 0; for (i = 0; lookup[i].desc; i++) { if (match_signal_name(lookup[i].name, str)) { return lookup[i].signal; } } errno = 0; int res = fish_wcstoi(str, &end, 10); if (!errno && res >= 0 && !*end) return res; return -1; }