--- freem/src/strings.c 2025/04/10 01:24:39 1.5
+++ freem/src/strings.c 2025/04/15 02:24:43 1.7
@@ -1,5 +1,5 @@
/*
- * $Id: strings.c,v 1.5 2025/04/10 01:24:39 snw Exp $
+ * $Id: strings.c,v 1.7 2025/04/15 02:24:43 snw Exp $
* freem string library
*
*
@@ -24,6 +24,12 @@
* along with FreeM. If not, see .
*
* $Log: strings.c,v $
+ * Revision 1.7 2025/04/15 02:24:43 snw
+ * Improve FreeM logging capabilities
+ *
+ * Revision 1.6 2025/04/13 04:22:43 snw
+ * Fix snprintf calls
+ *
* Revision 1.5 2025/04/10 01:24:39 snw
* Remove C++ style comments
*
@@ -43,6 +49,7 @@
#include
#include
#include
+#include
/* length of 'source' string in bytes */
long int stlen (const char *source)
@@ -174,6 +181,48 @@ char *trim (char *s)
}
+/*
+int stnprintf(char *dst, int size, char *fmt, ...)
+{
+ va_list ptr;
+ va_start (ptr, fmt);
+
+ char ch;
+ char typ;
+
+ register int i;
+ register int k;
+
+ k = 0;
+
+ for (i = 0; fmt[i] != '\201'; i++) {
+ ch = fmt[i];
+
+ if ((k + 1) == size) {
+ dst[k + 1] = '\201';
+ return k;
+ }
+
+ if (ch == '%') {
+ typ = fmt[++i];
+
+ switch (typ) {
+
+ case '%':
+ dst[k++] = '%';
+ break;
+
+ case 's':
+
+
+ }
+ }
+ else if (ch == '\') {
+
+ }
+ }
+}
+*/
/* convert EOL-terminated string 'mstr' to NUL-terminated string in-place */
void stcnv_m2c(char *mstr)
@@ -478,8 +527,8 @@ void uuid_v4 (char *buf)
seg2[4] = '\0';
- snprintf (seg3, 5, "%04x", seg3num);
- snprintf (seg4, 5, "%04x", seg4num);
+ snprintf (seg3, sizeof (seg3), "%04x", seg3num);
+ snprintf (seg4, sizeof (seg4), "%04x", seg4num);
for (i = 0; i < 12; i++) {
seg5[i] = chars[rand () % 16];