Mercurial > repos > blastem
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;