aboutsummaryrefslogtreecommitdiffstats
path: root/src/launcherutil.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/launcherutil.c')
-rw-r--r--src/launcherutil.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/launcherutil.c b/src/launcherutil.c
index b292df9..070290d 100644
--- a/src/launcherutil.c
+++ b/src/launcherutil.c
@@ -66,6 +66,27 @@ char *l2_launcher_sprintf_alloc(const char *fmt, ...)
return ret;
}
+char *l2_launcher_sprintf_resize(char **buf, size_t *len, const char *fmt, ...)
+{
+ va_list pva;
+
+ va_start(pva, fmt);
+ size_t needlen = vsnprintf(NULL, 0, fmt, pva);
+ va_end(pva);
+
+ if (needlen + 1 > *len) {
+ char *temp = realloc(*buf, needlen + 1);
+ if (!temp) return NULL;
+ *buf = temp;
+ *len = needlen + 1;
+ }
+
+ va_start(pva, fmt);
+ vsnprintf(*buf, *len, fmt, pva);
+ va_end(pva);
+ return *buf;
+}
+
char *l2_launcher_find_config_path(void)
{
/* check for $L2SU_CONFIG */