~ubuntu-branches/ubuntu/utopic/tdb/utopic-proposed

« back to all changes in this revision

Viewing changes to lib/replace/test/snprintf.c

  • Committer: Bazaar Package Importer
  • Author(s): Jelmer Vernooij
  • Date: 2010-10-04 21:55:48 UTC
  • mfrom: (1.1.12 upstream) (3.2.5 sid)
  • Revision ID: james.westby@ubuntu.com-20101004215548-43p3vge27fml13jz
Tags: 1.2.7-1
New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
void foo(const char *format, ...)
 
2
{
 
3
        va_list ap;
 
4
        int len;
 
5
        char buf[20];
 
6
        long long l = 1234567890;
 
7
        l *= 100;
 
8
 
 
9
        va_start(ap, format);
 
10
        len = vsnprintf(buf, 0, format, ap);
 
11
        va_end(ap);
 
12
        if (len != 5) exit(1);
 
13
 
 
14
        va_start(ap, format);
 
15
        len = vsnprintf(0, 0, format, ap);
 
16
        va_end(ap);
 
17
        if (len != 5) exit(2);
 
18
 
 
19
        if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(3);
 
20
 
 
21
        if (snprintf(buf, 20, "%lld", l) != 12 || strcmp(buf, "123456789000") != 0) exit(4);
 
22
        if (snprintf(buf, 20, "%zu", 123456789) != 9 || strcmp(buf, "123456789") != 0) exit(5);
 
23
        if (snprintf(buf, 20, "%2\$d %1\$d", 3, 4) != 3 || strcmp(buf, "4 3") != 0) exit(6);
 
24
        if (snprintf(buf, 20, "%s", 0) < 3) exit(7);
 
25
 
 
26
        printf("1");
 
27
        exit(0);
 
28
}
 
29
main() { foo("hello"); }