* don't copy / lowercase more of the string than we need to.
authorWilfried Göesgens <willi@citadel.org>
Tue, 14 Aug 2007 16:17:40 +0000 (16:17 +0000)
committerWilfried Göesgens <willi@citadel.org>
Tue, 14 Aug 2007 16:17:40 +0000 (16:17 +0000)
* go with direct pointers

citadel/room_ops.c

index fb3229a347cd08ec265cc8d7569532c0d532bc6a..3cfd2af32b32ef44a7a6a480afc1c20cb559574f 100644 (file)
@@ -225,12 +225,16 @@ int getroom(struct ctdlroom *qrbuf, char *room_name)
        struct cdbdata *cdbqr;
        char lowercase_name[ROOMNAMELEN];
        char personal_lowercase_name[ROOMNAMELEN];
-       int a;
+       char *dptr, *sptr, *eptr;
 
-       for (a = 0; room_name[a] && a < sizeof lowercase_name - 1; ++a) {
-               lowercase_name[a] = tolower(room_name[a]);
+       dptr = lowercase_name;
+       sptr = room_name;
+       eptr = (dptr + (sizeof lowercase_name - 1));
+       while (!IsEmptyStr(sptr) && (dptr < eptr)){
+               *dptr = tolower(*sptr);
+               sptr++; dptr++;
        }
-       lowercase_name[a] = 0;
+       *dptr = '\0';
 
        memset(qrbuf, 0, sizeof(struct ctdlroom));