summaryrefslogtreecommitdiffstats
path: root/src/lib.c
diff options
context:
space:
mode:
authorAnton Luka Šijanec <anton@sijanec.eu>2021-09-20 21:12:28 +0200
committerAnton Luka Šijanec <anton@sijanec.eu>2021-09-20 21:12:28 +0200
commit70cf778548fc47d99fef83b892191902178d1242 (patch)
tree2e621cd1fb1e7a2c030f6391fab2037e29fb8458 /src/lib.c
parentthis will NEVER work (no, it will, i'm just tired) (diff)
downloaddiscord.c-70cf778548fc47d99fef83b892191902178d1242.tar
discord.c-70cf778548fc47d99fef83b892191902178d1242.tar.gz
discord.c-70cf778548fc47d99fef83b892191902178d1242.tar.bz2
discord.c-70cf778548fc47d99fef83b892191902178d1242.tar.lz
discord.c-70cf778548fc47d99fef83b892191902178d1242.tar.xz
discord.c-70cf778548fc47d99fef83b892191902178d1242.tar.zst
discord.c-70cf778548fc47d99fef83b892191902178d1242.zip
Diffstat (limited to 'src/lib.c')
-rw-r--r--src/lib.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/lib.c b/src/lib.c
index de78be0..989436c 100644
--- a/src/lib.c
+++ b/src/lib.c
@@ -1,16 +1,18 @@
-int smprintf (char ** str, const char * format, ...) { /* allocates automaticalls (: */
- va_list ap, aq;
+#ifndef _GNU_SOURCE /* glibc already provides asprintf, but some cucks tend not to use glibc */
+int asprintf (char ** str, const char * format, ...) { /* allocates automaticalls (: */
+ va_list ap, aq; /* */
va_start(ap, format);
va_copy(aq, ap);
int len = vsnprintf(NULL, 0, format, ap);
if (!(*str = realloc(*str, len+1)))
fprintf(stderr, "[BUG] !!! realloc failed\n");
- if (len != vsprintf(*str, format, ap))
- fprintf(stderr, "[BUG] !!! len1 != len2\n");
+ if (len != vsprintf(*str, format, aq /* we need to use a different va handler, because */))
+ fprintf(stderr, "[BUG] !!! len1 != len2\n"); /* you can't rewind an existing one you can't rewind an existing one.. */
va_end(ap);
va_end(aq);
return len;
}
+#endif
char * startswith (char * testiranec, char * začetek) {
if (!strncmp(testiranec, začetek, strlen(začetek)))
return testiranec+strlen(začetek);