diff util.c @ 2158:bdd83b47d78a

Implement config file migrations and add iso and cue to extension list
author Michael Pavone <pavone@retrodev.com>
date Tue, 24 May 2022 09:10:54 -0700
parents 237068a25523
children a8af8d898a7c
line wrap: on
line diff
--- a/util.c	Thu Apr 28 18:44:50 2022 -0700
+++ b/util.c	Tue May 24 09:10:54 2022 -0700
@@ -56,6 +56,26 @@
 	return ret;
 }
 
+char * alloc_join(int num_parts, char const **parts, char sep)
+{
+	int total = num_parts ? num_parts - 1 : 0;
+	for (int i = 0; i < num_parts; i++) {
+		total += strlen(parts[i]);
+	}
+	char * ret = malloc(total + 1);
+	char *cur = ret;
+	for (int i = 0; i < num_parts; i++) {
+		size_t s = strlen(parts[i]);
+		if (i) {
+			*(cur++) = sep;
+		}
+		memcpy(cur, parts[i], s);
+		cur += s;
+	}
+	*cur = 0;
+	return ret;
+}
+
 typedef struct {
 	uint32_t start;
 	uint32_t end;