summaryrefslogtreecommitdiff
path: root/misc.c
diff options
context:
space:
mode:
authormrb0nk500 <b0nk@b0nk.xyz>2021-07-03 10:47:47 -0400
committermrb0nk500 <b0nk@b0nk.xyz>2021-07-03 10:47:47 -0400
commit0ca215bd99dde1505dc855e4d8826ce2ce63973d (patch)
treef32a926bb91f20534965d86c9265e86005b389e5 /misc.c
parent9115136fcafa01b3d37f19f11e08d7ba18202b50 (diff)
Added `find_alpha()`, and `create_num_str()`.
Diffstat (limited to 'misc.c')
-rw-r--r--misc.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/misc.c b/misc.c
index ce286cb..52c5c67 100644
--- a/misc.c
+++ b/misc.c
@@ -1,3 +1,4 @@
+#include <ctype.h>
#include <string.h>
#include <stdarg.h>
#include <stdio.h>
@@ -127,6 +128,22 @@ char *sanitize_str(char *str) {
return san_str;
}
+char *find_alpha(const char *str) {
+ for (; !isalpha(*str); str++);
+ return str;
+}
+
+char *create_num_str(const char *str, int num) {
+ char *name;
+ int lead_num = strtol(str, &name, 10);
+ const char *sep = (*name != '-') ? "-" : "";
+ const char *s = find_alpha(name);
+
+ name = calloc(format_len("%04d%s%s", num, sep, s), sizeof(char));
+ sprintf(name, "%04d%s%s", num, sep, str);
+ return name;
+}
+
int format_len(const char *fmt, ...) {
int len = 0;
va_list args;