aboutsummaryrefslogtreecommitdiff
path: root/lib/lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/lib.c')
-rw-r--r--lib/lib.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/lib.c b/lib/lib.c
index b0ac4715..6559030c 100644
--- a/lib/lib.c
+++ b/lib/lib.c
@@ -1015,3 +1015,21 @@ char *show_uuid(char *uuid)
return libbuf;
}
+
+// Returns pointer to letter at end, 0 if none. *start = initial %
+char *next_printf(char *s, char **start)
+{
+ for (; *s; s++) {
+ if (*s != '%') continue;
+ if (*++s == '%') continue;
+ if (start) *start = s-1;
+ while (0 <= stridx("0'#-+ ", *s)) s++;
+ while (isdigit(*s)) s++;
+ if (*s == '.') s++;
+ while (isdigit(*s)) s++;
+
+ return s;
+ }
+
+ return 0;
+}