draft transfer implementation

This commit is contained in:
2024-08-25 00:02:59 +03:00
parent 31953464e7
commit 41a8d10b4c
107 changed files with 2312 additions and 4165 deletions

37
deps/asprintf/asprintf.c vendored Normal file
View File

@@ -0,0 +1,37 @@
#include <stdio.h>
#include <stdlib.h>
#include "asprintf.h"
int vasprintf(char **strp, const char *fmt, va_list ap) {
int size, res;
va_list cp;
va_copy(cp, ap);
size = vsnprintf(NULL, 0, fmt, cp);
va_end(cp);
if (size < 0)
return -1;
*strp = (char *)malloc(size + 1);
if (*strp == NULL)
return -1;
res = vsnprintf(*strp, size + 1, fmt, ap);
if (res < 0) {
free(*strp);
return -1;
}
return res;
}
int asprintf(char **s, const char *fmt, ...) {
int ret;
va_list ap;
va_start(ap, fmt);
ret = vasprintf(s, fmt, ap);
va_end(ap);
return ret;
}

10
deps/asprintf/asprintf.h vendored Normal file
View File

@@ -0,0 +1,10 @@
#ifndef HAVE_ASPRINTF
#define HAVE_ASPRINTF 1
#include <stdarg.h>
int vasprintf(char **strp, const char *fmt, va_list ap);
int asprintf(char **s, const char *fmt, ...);
#endif

9
deps/asprintf/clib.json vendored Normal file
View File

@@ -0,0 +1,9 @@
{
"name": "asprintf",
"version": "1.0.0",
"repo": "Neved4/asprintf",
"description": "asprintf, vasprintf - print to allocated string",
"license": "MIT",
"keywords": ["asprintf", "sprintf", "alloc", "string"],
"src": ["asprintf.c", "asprintf.h"]
}