2 * Copyright (c) 2007, Novell Inc.
4 * This program is licensed under the BSD license, read LICENSE.BSD
5 * for further information
17 sat_oom(size_t num, size_t len)
20 fprintf(stderr, "Out of memory allocating %zu*%zu bytes!\n", num, len);
22 fprintf(stderr, "Out of memory allocating %zu bytes!\n", len);
28 sat_malloc(size_t len)
30 void *r = malloc(len ? len : 1);
37 sat_malloc2(size_t num, size_t len)
39 if (len && (num * len) / len != num)
41 return sat_malloc(num * len);
45 sat_realloc(void *old, size_t len)
48 old = malloc(len ? len : 1);
50 old = realloc(old, len ? len : 1);
57 sat_realloc2(void *old, size_t num, size_t len)
59 if (len && (num * len) / len != num)
61 return sat_realloc(old, num * len);
65 sat_calloc(size_t num, size_t len)
68 if (num == 0 || len == 0)
86 sat_timems(unsigned int subtract)
91 if (gettimeofday(&tv, 0))
93 r = (((unsigned int)tv.tv_sec >> 16) * 1000) << 16;
94 r += ((unsigned int)tv.tv_sec & 0xffff) * 1000;
95 r += (unsigned int)tv.tv_usec / 1000;