* removed strlen from b_putroom()
authorWilfried Göesgens <willi@citadel.org>
Thu, 9 Aug 2007 18:50:07 +0000 (18:50 +0000)
committerWilfried Göesgens <willi@citadel.org>
Thu, 9 Aug 2007 18:50:07 +0000 (18:50 +0000)
citadel/room_ops.c

index 340b99a38dd2b786383766152f32383c8b1fc4d4..159488e1e0add3f0766d6cadb5afbad7578e5ea2 100644 (file)
@@ -280,19 +280,28 @@ int lgetroom(struct ctdlroom *qrbuf, char *room_name)
 void b_putroom(struct ctdlroom *qrbuf, char *room_name)
 {
        char lowercase_name[ROOMNAMELEN];
+       char *aptr, *bptr;
+       long len;
        int a;
 
-       for (a = 0; a <= strlen(room_name); ++a) {
-               lowercase_name[a] = tolower(room_name[a]);
+       aptr = room_name;
+       bptr = lowercase_name;
+       while (!IsEmptyStr(aptr))
+       {
+               *bptr = tolower(*aptr);
+               aptr++;
+               bptr++;
        }
+       *bptr='\0';
 
+       len = bptr - lowercase_name;
        if (qrbuf == NULL) {
                cdb_delete(CDB_ROOMS,
-                          lowercase_name, strlen(lowercase_name));
+                          lowercase_name, len);
        } else {
                time(&qrbuf->QRmtime);
                cdb_store(CDB_ROOMS,
-                         lowercase_name, strlen(lowercase_name),
+                         lowercase_name, len,
                          qrbuf, sizeof(struct ctdlroom));
        }
 }