///char mime_disposition[SIZ];
//int mime_length;
char vcard_partnum[SIZ];
- char *vcard_source = NULL;
+ StrBuf *vcard_source = NULL;
message_summary summ;////TODO: this will leak
memset(&summ, 0, sizeof(summ));
wprintf("[%s]</a>", _("edit"));
}
- free(vcard_source);
+ FreeStrBuf(&vcard_source);
}
}
char mime_disposition[SIZ];
int mime_length;
char vcard_partnum[SIZ];
- char *vcard_source = NULL;
+ StrBuf *vcard_source = NULL;
int i, len;
message_summary summ;/// TODO this will lak
/* Grab the name off the card */
display_vcard(WC->WBuf, vcard_source, 0, 0, namebuf, Msg->msgnum);
- free(vcard_source);
+ FreeStrBuf(&vcard_source);
}
}
if (*namebuf != NULL) {
* \param msgnum Citadel message pointer
*/
void display_vcard(StrBuf *Target,
- const char *vcard_source,
+ StrBuf *vcard_source,
char alpha,
int full,
char **storename,
StrBuf *Buf2;
char this_alpha = 0;
- v = vcard_load((char*)vcard_source); ///TODO
+ v = VCardLoad(vcard_source);
if (v == NULL) return;
* to start with a blank card.
*/
void do_edit_vcard(long msgnum, char *partnum, char *return_to, const char *force_room) {
+ StrBuf *Buf;
char buf[SIZ];
- char *serialized_vcard = NULL;
+ StrBuf *serialized_vcard = NULL;
size_t total_len = 0;
struct vCard *v;
int i;
strcat(whatuser, &buf[5]);
}
}
-
- sprintf(buf, "DLAT %ld|%s", msgnum, partnum);
- serv_puts(buf);
- serv_getln(buf, sizeof buf);
- if (buf[0] != '6') {
- convenience_page("770000", "Error", &buf[4]);
+ Buf = NewStrBuf();
+ serv_printf(buf, "DLAT %ld|%s", msgnum, partnum);
+ StrBuf_ServGetlnBuffered(Buf);
+ if (GetServerStatus(Buf, NULL) != 6) {
+ convenience_page("770000", "Error", &(ChrPtr(Buf)[4]));
return;
}
-
- total_len = atoi(&buf[4]);
- serialized_vcard = malloc(total_len + 2);
+
+ StrBufCutLeft(Buf, 4);
+ total_len = StrBufExtract_long(Buf, 0, '|');
- serv_read(serialized_vcard, total_len);
- serialized_vcard[total_len] = 0;
+ StrBuf_ServGetBLOBBuffered(Buf, total_len);
- v = vcard_load(serialized_vcard);
- free(serialized_vcard);
+ v = VCardLoad(Buf);
+ FreeStrBuf(&Buf);
/* 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);
-
char prp[256]; /* property name */
char prm[256]; /* parameters */
+ value = vcard_get_prop(v, "", 0, i++, 0);
+
+
extract_token(prp, key, 0, ';', sizeof prp);
safestrncpy(prm, key, sizeof prm);
remove_token(prm, 0, ';');
struct vCard *v;
char *serialized_vcard;
char buf[SIZ];
+ StrBuf *Buf;
int i;
if (!havebstr("ok_button")) {
}
/** Make a vCard structure out of the data supplied in the form */
-
- snprintf(buf, sizeof buf, "begin:vcard\r\n%s\r\nend:vcard\r\n",
- bstr("extrafields")
+ Buf = NewStrBuf();
+ StrBufPrintf(Buf, "begin:vcard\r\n%s\r\nend:vcard\r\n",
+ bstr("extrafields")
);
- v = vcard_load(buf); /** Start with the extra fields */
+ v = VCardLoad(Buf); /** Start with the extra fields */
+ FreeStrBuf(&Buf);
if (v == NULL) {
safestrncpy(WC->ImportantMessage,
_("An error has occurred."),
void display_vcard_photo_img(void)
{
long msgnum = 0L;
- char *vcard;
+ StrBuf *vcard;
struct vCard *v;
char *photosrc;
const char *contentType;
msgnum = StrTol(WCC->UrlFragment2);
vcard = load_mimepart(msgnum,"1");
- v = vcard_load(vcard);
+ v = VCardLoad(vcard);
photosrc = vcard_get_prop(v, "PHOTO", 1,0,0);
FlushStrBuf(WCC->WBuf);