Blender V4.3
Util.c
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2001-2002 NaN Holding BV. All rights reserved.
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#include <stdlib.h>
6
7#include <stdarg.h>
8#include <stdio.h>
9#include <string.h>
10
11#include "MEM_guardedalloc.h"
12
13#include "Util.h"
14
15void *memdbl(void *mem, int *size_pr, int item_size)
16{
17 int cur_size = *size_pr;
18 int new_size = cur_size ? (cur_size * 2) : 1;
19 void *nmem = MEM_mallocN(new_size * item_size, "memdbl");
20
21 memcpy(nmem, mem, cur_size * item_size);
22 MEM_freeN(mem);
23
24 *size_pr = new_size;
25 return nmem;
26}
27
28char *string_dup(char *str)
29{
30 int len = strlen(str);
31 char *nstr = MEM_mallocN(len + 1, "string_dup");
32
33 memcpy(nstr, str, len + 1);
34
35 return nstr;
36}
37
38void fatal(char *fmt, ...)
39{
40 va_list ap;
41
42 fprintf(stderr, "FATAL: ");
43 va_start(ap, fmt);
44 vfprintf(stderr, fmt, ap);
45 va_end(ap);
46 fprintf(stderr, "\n");
47
48 exit(1);
49}
Read Guarded memory(de)allocation.
char * string_dup(char *str)
Definition Util.c:28
void fatal(char *fmt,...)
Definition Util.c:38
void * memdbl(void *mem, int *size_pr, int item_size)
Definition Util.c:15
int len
#define str(s)
void *(* MEM_mallocN)(size_t len, const char *str)
Definition mallocn.cc:44
void MEM_freeN(void *vmemh)
Definition mallocn.cc:105