diff options
author | Guy Harris <guy@alum.mit.edu> | 2019-01-08 20:40:50 -0800 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2019-01-08 20:40:50 -0800 |
commit | 0dd92d7d9944b158511e27795ff6952c17fd3497 (patch) | |
tree | d809d390da3c8b8f0f899027685004d8ba6d97ed /sockutils.c | |
parent | 9a397d9b5fffc17aadab655d5e868094a015749f (diff) |
Put pcap_win32_err_to_str() into fmtutils.c, and use it for all Win32 errors.
We don't need N different places all doing their own calls to
FormatMessage(); centralize it in pcap_win32_err_to_str(), now in
fmtutils.c for use in rpcapd as well as libpcap.
Merge in some fixes from the code in sock_fmterror().
Diffstat (limited to 'sockutils.c')
-rw-r--r-- | sockutils.c | 26 |
1 files changed, 6 insertions, 20 deletions
diff --git a/sockutils.c b/sockutils.c index 09d1a961..57bcdf66 100644 --- a/sockutils.c +++ b/sockutils.c @@ -133,25 +133,11 @@ void sock_fmterror(const char *caller, int errcode, char *errbuf, int errbuflen) if (errbuf == NULL) return; - retval = FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS | - FORMAT_MESSAGE_MAX_WIDTH_MASK, - NULL, errcode, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), - message, sizeof(message) / sizeof(TCHAR), NULL); - - if (retval == 0) - { - if ((caller) && (*caller)) - pcap_snprintf(errbuf, errbuflen, "%sUnable to get the exact error message", caller); - else - pcap_snprintf(errbuf, errbuflen, "Unable to get the exact error message"); - } + pcap_win32_err_to_str(errcode, message); + if ((caller) && (*caller)) + pcap_snprintf(errbuf, errbuflen, "%s%s", caller, message, errcode); else - { - if ((caller) && (*caller)) - pcap_snprintf(errbuf, errbuflen, "%s%s (code %d)", caller, message, errcode); - else - pcap_snprintf(errbuf, errbuflen, "%s (code %d)", message, errcode); - } + pcap_snprintf(errbuf, errbuflen, "%s", message, errcode); #else char *message; @@ -161,9 +147,9 @@ void sock_fmterror(const char *caller, int errcode, char *errbuf, int errbuflen) message = strerror(errcode); if ((caller) && (*caller)) - pcap_snprintf(errbuf, errbuflen, "%s%s (code %d)", caller, message, errcode); + pcap_snprintf(errbuf, errbuflen, "%s%s (%d)", caller, message, errcode); else - pcap_snprintf(errbuf, errbuflen, "%s (code %d)", message, errcode); + pcap_snprintf(errbuf, errbuflen, "%s (%d)", message, errcode); #endif } |