Loading lib/vsprintf.c +31 −26 Original line number Diff line number Diff line Loading @@ -482,6 +482,35 @@ static char *number(char *buf, char *end, unsigned long long num, int base, int return buf; } static char *string(char *buf, char *end, char *s, int field_width, int precision, int flags) { int len, i; if ((unsigned long)s < PAGE_SIZE) s = "<NULL>"; len = strnlen(s, precision); if (!(flags & LEFT)) { while (len < field_width--) { if (buf < end) *buf = ' '; ++buf; } } for (i = 0; i < len; ++i) { if (buf < end) *buf = *s; ++buf; ++s; } while (len < field_width--) { if (buf < end) *buf = ' '; ++buf; } return buf; } /** * vsnprintf - Format a string and place it in a buffer * @buf: The buffer to place the result into Loading @@ -502,11 +531,9 @@ static char *number(char *buf, char *end, unsigned long long num, int base, int */ int vsnprintf(char *buf, size_t size, const char *fmt, va_list args) { int len; unsigned long long num; int i, base; int base; char *str, *end, c; const char *s; int flags; /* flags to number() */ Loading Loading @@ -622,29 +649,7 @@ int vsnprintf(char *buf, size_t size, const char *fmt, va_list args) continue; case 's': s = va_arg(args, char *); if ((unsigned long)s < PAGE_SIZE) s = "<NULL>"; len = strnlen(s, precision); if (!(flags & LEFT)) { while (len < field_width--) { if (str < end) *str = ' '; ++str; } } for (i = 0; i < len; ++i) { if (str < end) *str = *s; ++str; ++s; } while (len < field_width--) { if (str < end) *str = ' '; ++str; } str = string(str, end, va_arg(args, char *), field_width, precision, flags); continue; case 'p': Loading Loading
lib/vsprintf.c +31 −26 Original line number Diff line number Diff line Loading @@ -482,6 +482,35 @@ static char *number(char *buf, char *end, unsigned long long num, int base, int return buf; } static char *string(char *buf, char *end, char *s, int field_width, int precision, int flags) { int len, i; if ((unsigned long)s < PAGE_SIZE) s = "<NULL>"; len = strnlen(s, precision); if (!(flags & LEFT)) { while (len < field_width--) { if (buf < end) *buf = ' '; ++buf; } } for (i = 0; i < len; ++i) { if (buf < end) *buf = *s; ++buf; ++s; } while (len < field_width--) { if (buf < end) *buf = ' '; ++buf; } return buf; } /** * vsnprintf - Format a string and place it in a buffer * @buf: The buffer to place the result into Loading @@ -502,11 +531,9 @@ static char *number(char *buf, char *end, unsigned long long num, int base, int */ int vsnprintf(char *buf, size_t size, const char *fmt, va_list args) { int len; unsigned long long num; int i, base; int base; char *str, *end, c; const char *s; int flags; /* flags to number() */ Loading Loading @@ -622,29 +649,7 @@ int vsnprintf(char *buf, size_t size, const char *fmt, va_list args) continue; case 's': s = va_arg(args, char *); if ((unsigned long)s < PAGE_SIZE) s = "<NULL>"; len = strnlen(s, precision); if (!(flags & LEFT)) { while (len < field_width--) { if (str < end) *str = ' '; ++str; } } for (i = 0; i < len; ++i) { if (str < end) *str = *s; ++str; ++s; } while (len < field_width--) { if (str < end) *str = ' '; ++str; } str = string(str, end, va_arg(args, char *), field_width, precision, flags); continue; case 'p': Loading