Replaced all the pointer arithmetic in getuser/putuser with readable.
authorArt Cancro <ajc@citadel.org>
Sat, 15 Jul 2023 00:26:50 +0000 (15:26 -0900)
committerArt Cancro <ajc@citadel.org>
Sat, 15 Jul 2023 00:26:50 +0000 (15:26 -0900)
citadel/server/room_ops.c

index cb85378c50d2f292d9f336d8668e0c0b04b5cac4..56c20e0d030436ab7c8099801fb3713bd34dbd49 100644 (file)
@@ -1,6 +1,6 @@
 // Server functions which perform operations on room objects.
 //
-// Copyright (c) 1987-2022 by the citadel.org team
+// Copyright (c) 1987-2023 by the citadel.org team
 //
 // This program is open source software; you can redistribute it and/or modify
 // it under the terms of the GNU General Public License, version 3.
@@ -305,17 +305,12 @@ int CtdlGetRoom(struct ctdlroom *qrbuf, const char *room_name) {
        struct cdbdata *cdbqr;
        char lowercase_name[ROOMNAMELEN];
        char personal_lowercase_name[ROOMNAMELEN];
-       const char *sptr;
-       char *dptr, *eptr;
+       long len;
 
-       dptr = lowercase_name;
-       sptr = room_name;
-       eptr = (dptr + (sizeof lowercase_name - 1));
-       while (!IsEmptyStr(sptr) && (dptr < eptr)) {
-               *dptr = tolower(*sptr);
-               sptr++; dptr++;
+       len = strlen(room_name);
+       for (int i=0; i<=len; ++i) {
+               lowercase_name[i] = tolower(room_name[i]);
        }
-       *dptr = '\0';
 
        memset(qrbuf, 0, sizeof(struct ctdlroom));
 
@@ -356,19 +351,13 @@ int CtdlGetRoomLock(struct ctdlroom *qrbuf, const char *room_name) {
 // (if the supplied buffer is NULL, delete the room record)
 void b_putroom(struct ctdlroom *qrbuf, char *room_name) {
        char lowercase_name[ROOMNAMELEN];
-       char *aptr, *bptr;
        long len;
 
-       aptr = room_name;
-       bptr = lowercase_name;
-       while (!IsEmptyStr(aptr)) {
-               *bptr = tolower(*aptr);
-               aptr++;
-               bptr++;
+       len = strlen(room_name);
+       for (int i=0; i<=len; ++i) {
+               lowercase_name[i] = tolower(room_name[i]);
        }
-       *bptr='\0';
 
-       len = bptr - lowercase_name;
        if (qrbuf == NULL) {
                cdb_delete(CDB_ROOMS, lowercase_name, len);
        }