*out = '\0';
}
-static void *lt_malloc(size_t size)
+static void *lt_alloc_check(void *out)
{
- void *out;
-
- out = malloc(size);
if (!out) {
- ERROR("Failed allocating %zu bytes, OOM\n", size);
+ ERROR("Failed to allocate, OOM\n");
exit(1);
}
return out;
}
+static void *lt_malloc(size_t size)
+{
+ return lt_alloc_check(malloc(size));
+}
+
+static char *lt_strdup(char const *str)
+{
+ return lt_alloc_check(strdup(str));
+}
+
static void lt_const_free(const void *ptr)
{
void *tmp;
static char *truncate_dll_name(char const *path)
{
/* Cut DLL name down to 8 characters after removing any mod_ prefix */
- char *tmppath = strdup(path);
+ char *tmppath = lt_strdup(path);
char *newname = strrchr(tmppath, '/') + 1;
char *ext = strrchr(newname, '.');
int len, ext_len;
* Otherwise, we'll do odd things.
*/
if (cmd->output == OUT_LIB) {
- char *tmp;
-
- tmp = strdup(arg);
- if (!tmp) exit(1);
-
+ char *tmp = lt_strdup(arg);
tmp[pathlen] = '\0';
push_count_chars(cmd->arglist, tmp);
-
} else {
cmd->output = OUT_LIB;
cmd->output_name = arg;
export_args[num_export_args++] = NULL;
external_spawn(cmd, export_args[0], (char const**)export_args);
#if 0 /* No num args ? */
- cmd->arglist[cmd->num_args++] = strdup(def_file);
+ cmd->arglist[cmd->num_args++] = lt_strdup(def_file);
#endif
/* Now make an import library for the dll */
num_export_args = 0;