new_topic[dpos++] = *ptr; //is % again
break;
}
- ptr--;
advtopic_index--; //no zero base
if(!cData->advtopic[advtopic_index])
break; //just leave it empty
break;
case '\\':
ptr++; /* and fall through */
+ if(!*ptr) break;
default:
new_topic[dpos++] = *ptr;
+ ptr++;
break;
}
- ptr++;
}
} else {
while((tchar = topic_mask[pos++]) && (dpos <= TOPICLEN))
unsigned short lvlOpts[NUM_LEVEL_OPTIONS];
unsigned char chOpts[NUM_CHAR_OPTIONS];
- char *advtopic[9];
+ char *advtopic[MAXADVTOPICENTRIES];
struct userData *users;
struct banData *bans;