- sprintf(buf, "OPNA %ld|%s", msgnum, partnum);
- serv_puts(buf);
- serv_gets(buf);
- if (buf[0] != '2') {
- wDumpContent(1);
- return;
- }
-
- total_len = atoi(&buf[4]);
- serialized_vcard = malloc(total_len + 1);
-
- read_server_binary(serialized_vcard, total_len);
-
- serv_puts("CLOS");
- serv_gets(buf);
- serialized_vcard[total_len + 1] = 0;
-
- v = vcard_load(serialized_vcard);
- free(serialized_vcard);
-
- /* Populate the variables for our form */
- i = 0;
- while (key = vcard_get_prop(v, "", 0, i, 1), key != NULL) {
- value = vcard_get_prop(v, "", 0, i++, 0);
-
- if (!strcasecmp(key, "n")) {
- extract_token(lastname, value, 0, ';');
- extract_token(firstname, value, 1, ';');
- extract_token(middlename, value, 2, ';');
- extract_token(prefix, value, 3, ';');
- extract_token(suffix, value, 4, ';');
- }
-
- else if (!strcasecmp(key, "adr")) {
- extract_token(pobox, value, 0, ';');
- extract_token(extadr, value, 1, ';');
- extract_token(street, value, 2, ';');
- extract_token(city, value, 3, ';');
- extract_token(state, value, 4, ';');
- extract_token(zipcode, value, 5, ';');
- extract_token(country, value, 6, ';');