vcard.c: style cleanup
authorArt Cancro <ajc@citadel.org>
Mon, 30 Oct 2023 17:49:24 +0000 (08:49 -0900)
committerArt Cancro <ajc@citadel.org>
Mon, 30 Oct 2023 17:49:24 +0000 (08:49 -0900)
libcitadel/lib/vcard.c
webcit-ng/server/room_functions.c

index a3ea54c791976736387d16d090a56835c794db11..3a4b21c465378fa200b802486171f041834cc3cf 100644 (file)
@@ -1,11 +1,9 @@
-/*
- * vCard implementation for Citadel
- *
- * Copyright (C) 1999-2023 by the citadel.org development team.
- *
+// vCard implementation for Citadel
+//
+// Copyright (C) 1999-2023 by the citadel.org development team.
+//
 // This program is open source software.  Use, duplication, or disclosure
 // is subject to the terms of the GNU General Public License, version 3.
- */
 
 
 #include <stdlib.h>
 #include <libcitadel.h>
 
 
-/* 
- * Constructor (empty vCard)
- * Returns an empty vcard
- */
+// Constructor (empty vCard)
+// Returns an empty vcard
 struct vCard *vcard_new() {
        struct vCard *v;
 
@@ -39,12 +35,8 @@ struct vCard *vcard_new() {
        return v;
 }
 
-/*
- * Remove the "charset=" attribute from a vCard property name
- *
- */
-void remove_charset_attribute(char *strbuf)
-{
+// Remove the "charset=" attribute from a vCard property name
+void remove_charset_attribute(char *strbuf) {
        int i, t;
        char compare[256];
 
@@ -64,31 +56,26 @@ void remove_charset_attribute(char *strbuf)
 }
 
 
-/*
- * Add a property to a vCard
- *
- * v           vCard structure to which we are adding
- * propname    name of new property
- * propvalue   value of new property
- */
+// Add a property to a vCard
+//
+// v           vCard structure to which we are adding
+// propname    name of new property
+// propvalue   value of new property
 void vcard_add_prop(struct vCard *v, const char *propname, const char *propvalue) {
        ++v->numprops;
-       v->prop = realloc(v->prop,
-               (v->numprops * sizeof(struct vCardProp)) );
+       v->prop = realloc(v->prop, (v->numprops * sizeof(struct vCardProp)) );
        v->prop[v->numprops-1].name = strdup(propname);
        v->prop[v->numprops-1].value = strdup(propvalue);
 }
 
-/*
- * Constructor - returns a new struct vcard given a serialized vcard
- */
+
+// Constructor - returns a new struct vcard given a serialized vcard
 struct vCard *VCardLoad(StrBuf *vbtext) {
        return vcard_load((char*)ChrPtr(vbtext));
 }
 
-/*
- * Constructor - returns a new struct vcard given a serialized vcard
- */
+
+// Constructor - returns a new struct vcard given a serialized vcard
 struct vCard *vcard_load(char *vtext) {
        struct vCard *v;
        int valid = 0;
@@ -101,11 +88,9 @@ struct vCard *vcard_load(char *vtext) {
        mycopy = strdup(vtext);
        if (mycopy == NULL) return NULL;
 
-       /*
-        * First, fix this big pile o' vCard to make it more parseable.
-        * To make it easier to parse, we convert CRLF to LF, and unfold any
-        * multi-line fields into single lines.
-        */
+       // First, fix this big pile o' vCard to make it more parseable.
+       // To make it easier to parse, we convert CRLF to LF, and unfold any
+       // multi-line fields into single lines.
        for (i=0; !IsEmptyStr(&mycopy[i]); ++i) {
                if (!strncmp(&mycopy[i], "\r\n", 2)) {
                        strcpy(&mycopy[i], &mycopy[i+1]);
@@ -116,8 +101,7 @@ struct vCard *vcard_load(char *vtext) {
        }
 
        v = vcard_new();
-       if (v == NULL)
-       {
+       if (v == NULL) {
                free(mycopy);
                return v;
        }
@@ -171,24 +155,21 @@ struct vCard *vcard_load(char *vtext) {
 }
 
 
-/*
- * Fetch the value of a particular key.
- * If is_partial is set to 1, a partial match is ok (for example,
- * a key of "tel;home" will satisfy a search for "tel").
- * Set "instance" to a value higher than 0 to return subsequent instances
- * of the same key.
- *
- * Set "get_propname" to nonzero to fetch the property name instead of value.
- * v           vCard to get keyvalue from
- * propname    key to retrieve
- * is_partial
- * instance    if nonzero return a later token of the value
- * get_propname        if nonzero get the real property name???
- *
- * returns the requested value / token / propertyname
- */
-char *vcard_get_prop(struct vCard *v, char *propname,
-                       int is_partial, int instance, int get_propname) {
+// Fetch the value of a particular key.
+// If is_partial is set to 1, a partial match is ok (for example,
+// a key of "tel;home" will satisfy a search for "tel").
+// Set "instance" to a value higher than 0 to return subsequent instances
+// of the same key.
+//
+// Set "get_propname" to nonzero to fetch the property name instead of value.
+// v           vCard to get keyvalue from
+// propname    key to retrieve
+// is_partial
+// instance    if nonzero return a later token of the value
+// get_propname        if nonzero get the real property name???
+//
+// returns the requested value / token / propertyname
+char *vcard_get_prop(struct vCard *v, char *propname, int is_partial, int instance, int get_propname) {
        int i;
        int found_instance = 0;
 
@@ -214,15 +195,11 @@ char *vcard_get_prop(struct vCard *v, char *propname,
 }
 
 
-
-
-/*
- * Destructor
- */
+// Destructor
 void vcard_free(struct vCard *v) {
        int i;
        
-       if (v->magic != CTDL_VCARD_MAGIC) return;       /* Self-check */
+       if (v->magic != CTDL_VCARD_MAGIC) return;       // Self-check
        
        if (v->numprops) for (i=0; i<(v->numprops); ++i) {
                free(v->prop[i].name);
@@ -236,21 +213,17 @@ void vcard_free(struct vCard *v) {
 }
 
 
-
-
-/*
- * Set a name/value pair in the card
- * v           vCard to manipulate
- * name                key to set
- * value       the value to assign to key
- * append      if nonzero, append rather than replace if this key already exists.
- */
+// Set a name/value pair in the card
+// v           vCard to manipulate
+// name                key to set
+// value       the value to assign to key
+// append      if nonzero, append rather than replace if this key already exists.
 void vcard_set_prop(struct vCard *v, char *name, char *value, int append) {
        int i;
 
-       if (v->magic != CTDL_VCARD_MAGIC) return;       /* Self-check */
+       if (v->magic != CTDL_VCARD_MAGIC) return;       // Self-check
 
-       /* If this key is already present, replace it */
+       // If this key is already present, replace it
        if (!append) if (v->numprops) for (i=0; i<(v->numprops); ++i) {
                if (!strcasecmp(v->prop[i].name, name)) {
                        free(v->prop[i].name);
@@ -261,7 +234,7 @@ void vcard_set_prop(struct vCard *v, char *name, char *value, int append) {
                }
        }
 
-       /* Otherwise, append it */
+       // Otherwise, append it
        ++v->numprops;
        v->prop = realloc(v->prop,
                (v->numprops * sizeof(struct vCardProp)) );
@@ -270,26 +243,21 @@ void vcard_set_prop(struct vCard *v, char *name, char *value, int append) {
 }
 
 
-
-
-/*
- * Serialize a 'struct vcard' into an actual vcard.
- */
-char *vcard_serialize(struct vCard *v)
-{
+// Serialize a 'struct vcard' into an actual vcard.
+char *vcard_serialize(struct vCard *v) {
        char *ser;
        int i, j;
        size_t len;
        int is_utf8 = 0;
 
-       if (v == NULL) return NULL;                     /* self check */
-       if (v->magic != CTDL_VCARD_MAGIC) return NULL;  /* self check */
+       if (v == NULL) return NULL;                     // self check
+       if (v->magic != CTDL_VCARD_MAGIC) return NULL;  // self check
 
-       /* Set the vCard version number to 2.1 at this time. */
+       // Set the vCard version number to 2.1 at this time.
        vcard_set_prop(v, "VERSION", "2.1", 0);
 
-       /* Figure out how big a buffer we need to allocate */
-       len = 64;       /* for begin, end, and a little padding for safety */
+       // Figure out how big a buffer we need to allocate
+       len = 64;       // for begin, end, and a little padding for safety
        if (v->numprops) for (i=0; i<(v->numprops); ++i) {
                len = len +
                        strlen(v->prop[i].name) +
@@ -318,19 +286,15 @@ char *vcard_serialize(struct vCard *v)
                }
        }
        strcat(ser, "end:vcard\r\n");
-
        return ser;
 }
 
 
-
-/*
- * Convert FN (Friendly Name) into N (Name)
- *
- * vname       Supplied friendly-name
- * n           Target buffer to store Name
- * vname_size  Size of buffer
- */
+// Convert FN (Friendly Name) into N (Name)
+//
+// vname       Supplied friendly-name
+// n           Target buffer to store Name
+// vname_size  Size of buffer
 void vcard_fn_to_n(char *vname, char *n, size_t vname_size) {
        char lastname[256];
        char firstname[256];
@@ -341,48 +305,40 @@ void vcard_fn_to_n(char *vname, char *n, size_t vname_size) {
 
        safestrncpy(buf, n, sizeof buf);
 
-       /* Try to intelligently convert the screen name to a
-        * fully expanded vCard name based on the number of
-        * words in the name
-        */
+       // Try to intelligently convert the screen name to a fully expanded vCard name based on the number of words in the name
        safestrncpy(lastname, "", sizeof lastname);
        safestrncpy(firstname, "", sizeof firstname);
        safestrncpy(middlename, "", sizeof middlename);
        safestrncpy(honorific_prefixes, "", sizeof honorific_prefixes);
        safestrncpy(honorific_suffixes, "", sizeof honorific_suffixes);
 
-       /* Honorific suffixes */
+       // Honorific suffixes
        if (num_tokens(buf, ',') > 1) {
                extract_token(honorific_suffixes, buf, (num_tokens(buf, ' ') - 1), ',',
                        sizeof honorific_suffixes);
                remove_token(buf, (num_tokens(buf, ',') - 1), ',');
        }
 
-       /* Find a last name */
+       // Find a last name
        extract_token(lastname, buf, (num_tokens(buf, ' ') - 1), ' ', sizeof lastname);
        remove_token(buf, (num_tokens(buf, ' ') - 1), ' ');
 
-       /* Find honorific prefixes */
+       // Find honorific prefixes
        if (num_tokens(buf, ' ') > 2) {
                extract_token(honorific_prefixes, buf, 0, ' ', sizeof honorific_prefixes);
                remove_token(buf, 0, ' ');
        }
 
-       /* Find a middle name */
+       // Find a middle name
        if (num_tokens(buf, ' ') > 1) {
                extract_token(middlename, buf, (num_tokens(buf, ' ') - 1), ' ', sizeof middlename);
                remove_token(buf, (num_tokens(buf, ' ') - 1), ' ');
        }
 
-       /* Anything left is probably the first name */
+       // Anything left is probably the first name
        safestrncpy(firstname, buf, sizeof firstname);
        string_trim(firstname);
 
-       /* Compose the structured name */
-       snprintf(vname, vname_size, "%s;%s;%s;%s;%s", lastname, firstname, middlename,
-               honorific_prefixes, honorific_suffixes);
+       // Compose the structured name
+       snprintf(vname, vname_size, "%s;%s;%s;%s;%s", lastname, firstname, middlename, honorific_prefixes, honorific_suffixes);
 }
-
-
-
-
index b1135c3b6130fb60232f678ce4fde81e17938f52..e820ea0b45a68976f2c645bfc281c7969f7eb10f 100644 (file)
@@ -122,7 +122,6 @@ void json_mailbox(struct http_transaction *h, struct ctdlsession *c) {
        ctdl_readline(c, buf, sizeof(buf));
        if (buf[0] == '1') {
                while (ctdl_readline(c, buf, sizeof(buf)), (strcmp(buf, "000"))) {
-                       diag_hexdump_str(buf, "line received from server");
                        JsonValue *jmsg = NewJsonObject(HKEY("message"));
                        JsonObjectAppend(jmsg, NewJsonNumber(HKEY("msgnum"), extract_long(buf, 0)));
                        JsonObjectAppend(jmsg, NewJsonNumber(HKEY("time"), extract_long(buf, 1)));
@@ -131,6 +130,7 @@ void json_mailbox(struct http_transaction *h, struct ctdlsession *c) {
                        JsonObjectAppend(jmsg, NewJsonPlainString(HKEY("author"), field, -1));
                        extract_token(field, buf, 4, '|', sizeof field);
                        utf8ify_rfc822_string(field);
+                       diag_hexdump_str(field, "address");
                        JsonObjectAppend(jmsg, NewJsonPlainString(HKEY("addr"), field, -1));
                        extract_token(field, buf, 5, '|', sizeof field);
                        utf8ify_rfc822_string(field);