]> code.citadel.org Git - citadel.git/blobdiff - citadel/server/room_ops.c
When opening a cursor, always read through to the end.
[citadel.git] / citadel / server / room_ops.c
index cabaf96fdaf3fdd279a29d6b7dab843c8c738170..f61e1f12668b96577fa1c1cef0aafea63dba8821 100644 (file)
@@ -526,10 +526,9 @@ void CtdlForEachRoom(ForEachRoomCallBack callback_func, void *in_data) {
        struct cdbkeyval cdbqr;
 
        cdb_rewind(CDB_ROOMS);
-
-       while (cdbqr = cdb_next_item(CDB_ROOMS), cdbqr.val.ptr!=NULL) {
+       while (cdbqr = cdb_next_item(CDB_ROOMS), cdbqr.val.ptr!=NULL) {         // always read through to the end
                memset(&qrbuf, 0, sizeof(struct ctdlroom));
-               memcpy(&qrbuf, cdbqr.val.ptr, ((cdbqr.val.len > sizeof(struct ctdlroom)) ?  sizeof(struct ctdlroom) : cdbqr.val.len) );
+               memcpy(&qrbuf, cdbqr.val.ptr, ((cdbqr.val.len > sizeof(struct ctdlroom)) ? sizeof(struct ctdlroom) : cdbqr.val.len) );
                room_sanity_check(&qrbuf);
                if (qrbuf.QRflags & QR_INUSE) {
                        callback_func(&qrbuf, in_data);