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

Function acl_default_strdup

lib_acl/src/stdlib/memory/acl_default_malloc.c:420–455  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

418/* acl_default_strdup - save string to heap */
419
420char *acl_default_strdup(const char *filename, int line, const char *str)
421{
422 const char *myname = "acl_default_strdup";
423 const char *pname = NULL;
424 size_t len;
425 char *result;
426
427 if (filename && *filename) {
428 SET_FILE(pname, filename);
429 } else {
430 pname = __FILENAME_UNKNOWN;
431 }
432
433 if (str == 0) {
434 acl_msg_fatal("%s(%d)->%s: null pointer argument",
435 pname, line, myname);
436 }
437
438#ifndef NO_SHARED_EMPTY_STRINGS
439 if (*str == 0) {
440 return (char *) empty_string;
441 }
442#endif
443
444#ifdef DEBUG_MEM
445 __nstrdup++;
446#endif
447
448 len = strlen(str);
449 result = (char*) acl_default_malloc(pname, line, len + 1);
450 if (len > 0) {
451 memcpy(result, str, len);
452 }
453 result[len] = 0;
454 return result;
455}
456
457/* acl_default_strndup - save substring to heap */
458

Callers

nothing calls this directly

Calls 3

acl_msg_fatalFunction · 0.85
acl_default_mallocFunction · 0.85
memcpyFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…