MCPcopy Create free account
hub / github.com/acl-dev/acl / acl_strerror

Function acl_strerror

lib_acl/src/stdlib/acl_msg.c:604–645  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

602#endif /* USE_PRINTF_MACRO */
603
604const char *acl_strerror(unsigned int errnum, char *buffer, int size)
605{
606 const char *myname = "acl_strerror";
607#ifdef ACL_WINDOWS
608 int L;
609
610 if (buffer == NULL || size <= 0) {
611 acl_msg_error("%s, %s(%d): input error",
612 __FILE__, myname, __LINE__);
613 return NULL;
614 }
615
616 L = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM
617 | FORMAT_MESSAGE_ARGUMENT_ARRAY,
618 NULL,
619 errnum,
620 0,
621 buffer,
622 size,
623 NULL);
624 while ((L > 0) && ((buffer[L - 1] >= 0 && buffer[L - 1] <= 32) ||
625 (buffer[L - 1] == '.'))) {
626 buffer[L - 1] = '\0';
627 L--;
628 }
629
630 /* resave the error of WIN SYS */
631 WSASetLastError(errnum);
632#elif defined(ACL_UNIX)
633 if (buffer == NULL || size <= 0) {
634 acl_msg_error("%s, %s(%d): input error",
635 __FILE__, myname, __LINE__);
636 return NULL;
637 }
638
639 snprintf(buffer, size, "%s", strerror(errnum));
640#else
641# error "unknown OS type"
642#endif
643
644 return buffer;
645}
646
647const char *acl_last_strerror(char *buffer, int size)
648{

Callers 8

thread_mainFunction · 0.85
acl_last_strerrorFunction · 0.85
acl_strerror1Function · 0.85
__init_table_rwlockFunction · 0.85
malloc_hookFunction · 0.85
thread_oninitMethod · 0.85
string_errorFunction · 0.85

Calls 1

acl_msg_errorFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…