diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2016-11-05 18:00:10 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2016-11-05 18:00:10 +0100 |
commit | 5c1feb0ef0b795e5de71e956f9ccddcd5c4b7f21 (patch) | |
tree | ce10dae7b7edc23f0a69fecaae8b3ed62e2a39eb /sys/src/libc/port/calloc.c | |
parent | bf9bada0c246ef96ee168e355b26e4dc67396ee4 (diff) |
libc: move calloc() into its own compilation unit
move calloc() in its own compilation unit to avoid
code duplication. also, calloc() is used rarely in
plan9 programs.
Diffstat (limited to 'sys/src/libc/port/calloc.c')
-rw-r--r-- | sys/src/libc/port/calloc.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sys/src/libc/port/calloc.c b/sys/src/libc/port/calloc.c new file mode 100644 index 000000000..b8319128f --- /dev/null +++ b/sys/src/libc/port/calloc.c @@ -0,0 +1,13 @@ +#include <u.h> +#include <libc.h> + +void* +calloc(ulong n, ulong s) +{ + void *v; + if(n > 1 && ((ulong)-1)/n < s) + return nil; + if(v = mallocz(n*s, 1)) + setmalloctag(v, getcallerpc(&n)); + return v; +} |