remove_any_whitespace_to_the_left_or_right_of_at_symbol() is awesomized and no longer...
[citadel.git] / citadel / internet_addressing.c
index afa637a9ad009d33e1938cac2eb1fe5f9180e31a..68daf88542c6e11b0dd974de5a195c91605a2045 100644 (file)
@@ -375,17 +375,16 @@ void sanitize_truncated_recipient(char *str)
  * (What can I say, I'm in a weird mood today...)
  */
 void remove_any_whitespace_to_the_left_or_right_of_at_symbol(char *name) {
-       unsigned int i;
+       char *ptr;
+       if (!name) return;
 
-       for (i = 0; i < strlen(name); ++i) {
-               if (name[i] == '@') {
-                       while (isspace(name[i - 1]) && i > 0) {
-                               strcpy(&name[i - 1], &name[i]);
-                               --i;
-                       }
-                       while (isspace(name[i + 1])) {
-                               strcpy(&name[i + 1], &name[i + 2]);
-                       }
+       for (ptr=name; *ptr; ++ptr) {
+               while ( (isspace(*ptr)) && (*(ptr+1)=='@') ) {
+                       strcpy(ptr, ptr+1);
+                       if (ptr > name) --ptr;
+               }
+               while ( (*ptr=='@') && (*(ptr+1)!=0) && (isspace(*(ptr+1))) ) {
+                       strcpy(ptr+1, ptr+2);
                }
        }
 }
@@ -570,8 +569,7 @@ struct recptypes *validate_recipients(const char *supplied_recipients, const cha
                                }
                                strcat(ret->recp_room, this_recp);
                        }
-                       else if ( (!strncasecmp(this_recp, "room_", 5))
-                                 && (!CtdlGetRoom(&tempQR, &this_recp_cooked[5])) ) {
+                       else if ( (!strncasecmp(this_recp, "room_", 5)) && (!CtdlGetRoom(&tempQR, &this_recp_cooked[5])) ) {
 
                                /* Save room so we can restore it later */
                                tempQR2 = CCC->room;