Add to git.
[c2lib.git] / doc / eg_string.c
1 #include <assert.h>
2 #include <pstring.h>
3
4 char *given_name = "Richard";
5 char *family_name = "Jones";
6 char *email_address = "rich@annexia.org";
7
8 main ()
9 {
10   pool pool = global_pool;
11   char *email, *s;
12   vector v;
13
14   email =
15     psprintf (pool, "%s %s <%s>", given_name, family_name, email_address);
16
17   printf ("full email address is: %s\n", email);
18
19   v = pstrcsplit (pool, email, ' ');
20
21   printf ("split email into %d components\n", vector_size (v));
22
23   vector_get (v, 0, s);
24   printf ("first component is: %s\n", s);
25   assert (strcmp (s, given_name) == 0);
26
27   vector_get (v, 1, s);
28   printf ("second component is: %s\n", s);
29   assert (strcmp (s, family_name) == 0);
30
31   vector_get (v, 2, s);
32   printf ("third component is: %s\n", s);
33   s = pstrdup (pool, s);
34   s++;
35   s[strlen(s)-1] = '\0';
36   assert (strcmp (s, email_address) == 0);
37 }