aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/ename/test-ename-western.c
blob: 17ff91dbf29dd30679173eab8947154a23b12187 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <gnome.h>
#include <ctype.h>

#include <ename/e-name.h>

static void
do_name (char *n)
{
    ENameWestern *wname;

    wname = e_name_western_parse (n);

    printf ("Full Name: [%s]\n", n);

    printf ("Prefix: [%s]\n", wname->prefix);
    printf ("First:  [%s]\n", wname->first);
    printf ("Middle: [%s]\n", wname->middle);
    printf ("Nick:   [%s]\n", wname->nick);
    printf ("Last:   [%s]\n", wname->last);
    printf ("Suffix: [%s]\n", wname->suffix);

    printf ("\n");

    e_name_western_free (wname);
}

int
main (int argc, char **argv)
{
    if (argc == 2) {
        while (! feof (stdin)) {
            char s[256];

            if (fgets (s, sizeof (s), stdin) == NULL)
                return 0;

            g_strstrip (s);

            do_name (s);
        }

        return 0;
    }

    do_name ("Nat");
    do_name ("Karl Anders Carlsson");
    do_name ("Miguel de Icaza Amozorrutia");
    do_name ("The Honorable Doctor de Icaza, Miguel \"Sparky\" Junior, PhD, MD");
    do_name ("Nat Friedman MD, Phd");
    do_name ("Nat Friedman PhD");
    do_name ("Friedman, Nat");
    do_name ("Miguel de Icaza Esquire");
    do_name ("Dr Miguel \"Sparky\" de Icaza");
    do_name ("Robert H.B. Netzer");
    do_name ("W. Richard Stevens");
    do_name ("Nat Friedman");
    do_name ("N. Friedman");
    do_name ("Miguel de Icaza");
    do_name ("Drew Johnson");
    do_name ("President Bill \"Slick Willy\" Clinton");
    do_name ("The Honorable Mark J. Einstein Jr");
    do_name ("Friedman, Nat");
    do_name ("de Icaza, Miguel");
    do_name ("Mr de Icaza, Miguel");
    do_name ("Smith, John Jr");
    do_name ("Nick Glennie-Smith");
    do_name ("Dr von Johnson, Albert Roderick Jr");

    return 0;
}