ObjFW  Diff

Differences From Artifact [f5f60111d7]:

To Artifact [a685f3a1cc]:


20
21
22
23
24
25
26

27


28
29
30
31
32
33
34
35
#include <stdlib.h>
#include <stdarg.h>

int
vasprintf(char **string, const char *format, va_list arguments)
{
	int length;




	if ((length = vsnprintf(NULL, 0, format, arguments)) < 0)
		return length;
	if ((*string = malloc((size_t)length + 1)) == NULL)
		return -1;

	return vsnprintf(*string, (size_t)length + 1, format, arguments);
}








>

>
>
|







20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <stdlib.h>
#include <stdarg.h>

int
vasprintf(char **string, const char *format, va_list arguments)
{
	int length;
	va_list argumentsCopy;

	va_copy(argumentsCopy, argumentsCopy);

	if ((length = vsnprintf(NULL, 0, format, argumentsCopy)) < 0)
		return length;
	if ((*string = malloc((size_t)length + 1)) == NULL)
		return -1;

	return vsnprintf(*string, (size_t)length + 1, format, arguments);
}