- /* Kick everyone out if the client requested it (by changing the
- * room's generation number)
- */
- if (extract_int(args, 4)) {
- time(&CC->quickroom.QRgen);
+ /* Some changes can't apply to BASEROOM */
+ if (!strncasecmp(CC->quickroom.QRname, config.c_baseroom,
+ ROOMNAMELEN)) {
+ CC->quickroom.QRorder = 0;
+ CC->quickroom.QRpasswd[0] = '\0';
+ CC->quickroom.QRflags &= ~(QR_PRIVATE & QR_PASSWORDED &
+ QR_GUESSNAME & QR_PREFONLY & QR_MAILBOX);
+ CC->quickroom.QRflags |= QR_PERMANENT;
+ } else {
+ /* March order (doesn't apply to AIDEROOM) */
+ if (num_parms(args) >= 7)
+ CC->quickroom.QRorder = (char) new_order;
+ /* Room password */
+ extract(buf, args, 1);
+ buf[10] = 0;
+ safestrncpy(CC->quickroom.QRpasswd, buf,
+ sizeof CC->quickroom.QRpasswd);
+ /* Kick everyone out if the client requested it
+ * (by changing the room's generation number)
+ */
+ if (extract_int(args, 4)) {
+ time(&CC->quickroom.QRgen);
+ }