]> code.citadel.org Git - citadel.git/blobdiff - webcit/vcard_edit.c
* Integrated the first batch of new icons.
[citadel.git] / webcit / vcard_edit.c
index 23c8df4a817dd173edcc03ac4b5d7ca6e04bbfc2..079cbcddaafacaf6f33e8f10db4264b8ebad1106 100644 (file)
@@ -81,19 +81,19 @@ void do_edit_vcard(long msgnum, char *partnum, char *return_to) {
        org[0] = 0;
        extrafields[0] = 0;
 
-       strcpy(whatuser, "");
+       safestrncpy(whatuser, "", sizeof whatuser);
 
        if (msgnum >= 0) {
                sprintf(buf, "MSG0 %ld|1", msgnum);
                serv_puts(buf);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] != '1') {
                        convenience_page("770000", "Error", &buf[4]);
                        return;
                }
-               while (serv_gets(buf), strcmp(buf, "000")) {
+               while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
                        if (!strncasecmp(buf, "from=", 5)) {
-                               strcpy(whatuser, &buf[5]);
+                               safestrncpy(whatuser, &buf[5], sizeof whatuser);
                        }
                        else if (!strncasecmp(buf, "node=", 5)) {
                                strcat(whatuser, " @ ");
@@ -103,7 +103,7 @@ void do_edit_vcard(long msgnum, char *partnum, char *return_to) {
        
                sprintf(buf, "OPNA %ld|%s", msgnum, partnum);
                serv_puts(buf);
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                if (buf[0] != '2') {
                        convenience_page("770000", "Error", &buf[4]);
                        return;
@@ -115,7 +115,7 @@ void do_edit_vcard(long msgnum, char *partnum, char *return_to) {
                read_server_binary(serialized_vcard, total_len);
        
                serv_puts("CLOS");
-               serv_gets(buf);
+               serv_getln(buf, sizeof buf);
                serialized_vcard[total_len] = 0;
        
                v = vcard_load(serialized_vcard);
@@ -127,42 +127,42 @@ void do_edit_vcard(long msgnum, char *partnum, char *return_to) {
                        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, ';');
+                               extract_token(lastname, value, 0, ';', sizeof lastname);
+                               extract_token(firstname, value, 1, ';', sizeof firstname);
+                               extract_token(middlename, value, 2, ';', sizeof middlename);
+                               extract_token(prefix, value, 3, ';', sizeof prefix);
+                               extract_token(suffix, value, 4, ';', sizeof suffix);
                        }
 
                        else if (!strcasecmp(key, "title")) {
-                               strcpy(title, value);
+                               safestrncpy(title, value, sizeof title);
                        }
        
                        else if (!strcasecmp(key, "org")) {
-                               strcpy(org, value);
+                               safestrncpy(org, value, sizeof org);
                        }
        
                        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, ';');
+                               extract_token(pobox, value, 0, ';', sizeof pobox);
+                               extract_token(extadr, value, 1, ';', sizeof extadr);
+                               extract_token(street, value, 2, ';', sizeof street);
+                               extract_token(city, value, 3, ';', sizeof city);
+                               extract_token(state, value, 4, ';', sizeof state);
+                               extract_token(zipcode, value, 5, ';', sizeof zipcode);
+                               extract_token(country, value, 6, ';', sizeof country);
                        }
        
                        else if (!strcasecmp(key, "tel;home")) {
-                               extract_token(hometel, value, 0, ';');
+                               extract_token(hometel, value, 0, ';', sizeof hometel);
                        }
        
                        else if (!strcasecmp(key, "tel;work")) {
-                               extract_token(worktel, value, 0, ';');
+                               extract_token(worktel, value, 0, ';', sizeof worktel);
                        }
        
                        else if (!strcasecmp(key, "email;internet")) {
                                if (primary_inetemail[0] == 0) {
-                                       strcpy(primary_inetemail, value);
+                                       safestrncpy(primary_inetemail, value, sizeof primary_inetemail);
                                }
                                else {
                                        if (other_inetemail[0] != 0) {
@@ -189,7 +189,7 @@ void do_edit_vcard(long msgnum, char *partnum, char *return_to) {
        wprintf("<div id=\"banner\">\n"
                "<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>"
                "<SPAN CLASS=\"titlebar\">"
-               "<img src=\"/static/vcard.gif\">"
+               "<img src=\"/static/savecontact_48x.gif\">"
                "Edit contact information"
                "</SPAN>"
                "</TD></TR></TABLE>\n"
@@ -342,7 +342,7 @@ void submit_vcard(void) {
 
        sprintf(buf, "ENT0 1|||4||");
        serv_puts(buf);
-       serv_gets(buf);
+       serv_getln(buf, sizeof buf);
        if (buf[0] != '4') {
                edit_vcard();
                return;
@@ -372,7 +372,7 @@ void submit_vcard(void) {
 
        serv_printf("email;internet:%s\n", bstr("primary_inetemail"));  
        for (i=0; i<num_tokens(bstr("other_inetemail"), '\n'); ++i) {
-               extract_token(buf, bstr("other_inetemail"), i, '\n');
+               extract_token(buf, bstr("other_inetemail"), i, '\n', sizeof buf);
                if (strlen(buf) > 0) {
                        serv_printf("email;internet:%s", buf);
                }