]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Support z for (s)size_t.
authorJoerg Sonnenberger <joerg.sonnenberger@gmail.com>
Thu, 25 Feb 2010 15:54:03 +0000 (10:54 -0500)
committerJoerg Sonnenberger <joerg.sonnenberger@gmail.com>
Thu, 25 Feb 2010 15:54:03 +0000 (10:54 -0500)
SVN-Revision: 1986

libarchive/archive_string_sprintf.c

index 6d3d8edded888dc949efe7a01a666630286e62ac..5fa615208a6fca7fa8e8b9d1e7bf4f4cee51a7b4 100644 (file)
@@ -112,11 +112,9 @@ __archive_string_vsprintf(struct archive_string *as, const char *fmt,
                long_flag = '\0';
                switch(*p) {
                case 'j':
-                       long_flag = 'j';
-                       p++;
-                       break;
                case 'l':
-                       long_flag = 'l';
+               case 'z':
+                       long_flag = *p;
                        p++;
                        break;
                }
@@ -133,6 +131,7 @@ __archive_string_vsprintf(struct archive_string *as, const char *fmt,
                        switch(long_flag) {
                        case 'j': s = va_arg(ap, intmax_t); break;
                        case 'l': s = va_arg(ap, long); break;
+                       case 'z': s = va_arg(ap, ssize_t); break;
                        default:  s = va_arg(ap, int); break;
                        }
                        append_int(as, s, 10);
@@ -146,6 +145,7 @@ __archive_string_vsprintf(struct archive_string *as, const char *fmt,
                        switch(long_flag) {
                        case 'j': u = va_arg(ap, uintmax_t); break;
                        case 'l': u = va_arg(ap, unsigned long); break;
+                       case 'z': u = va_arg(ap, size_t); break;
                        default:  u = va_arg(ap, unsigned int); break;
                        }
                        /* Format it in the correct base. */