projects
/
NeonServV5.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f83cbba
)
prevent numerics in the dynamic topic parts from being interpreted as color codes
author
pk910
<philipp@zoelle1.de>
Wed, 5 Oct 2011 18:34:55 +0000
(20:34 +0200)
committer
pk910
<philipp@zoelle1.de>
Wed, 5 Oct 2011 18:34:55 +0000
(20:34 +0200)
src/cmd_neonserv_topic.c
patch
|
blob
|
history
diff --git
a/src/cmd_neonserv_topic.c
b/src/cmd_neonserv_topic.c
index d3fc3d7108c3c2cc598c5e122cb9bbc12b911270..e20c6c4daa45e600ba4cdadec00e809206b4ad10 100644
(file)
--- a/
src/cmd_neonserv_topic.c
+++ b/
src/cmd_neonserv_topic.c
@@
-107,10
+107,16
@@
CMD_BIND(neonserv_cmd_topic) {
//now build the new topic and set it...
topiclistpos = 0;
b = row[2];
//now build the new topic and set it...
topiclistpos = 0;
b = row[2];
+ char *topicpart, *debugbb;
while((a = strstr(b, "%")) != NULL) {
*a = '\0';
if(isdigit(a[1]) && a[1] - 48 > 0) {
while((a = strstr(b, "%")) != NULL) {
*a = '\0';
if(isdigit(a[1]) && a[1] - 48 > 0) {
- topiclistpos += sprintf(topiclist + topiclistpos, "%s%s", b, advtopics[a[1] - 49]);
+ topicpart = advtopics[a[1] - 49];
+ if(isdigit(topicpart[0]) && isdigit(b[strlen(b)-1]))
+ debugbb = "\002\002"; //double bold to prevent following digits used as color code
+ else
+ debugbb = "";
+ topiclistpos += sprintf(topiclist + topiclistpos, "%s%s%s", b, debugbb, topicpart);
b = a+2;
} else {
topiclistpos += sprintf(topiclist + topiclistpos, "%s%%", b);
b = a+2;
} else {
topiclistpos += sprintf(topiclist + topiclistpos, "%s%%", b);
@@
-128,10
+134,15
@@
CMD_BIND(neonserv_cmd_topic) {
char topiclist[MAXLEN*2];
topiclist[0] = '\0';
int topiclistpos = 0;
char topiclist[MAXLEN*2];
topiclist[0] = '\0';
int topiclistpos = 0;
- b = row[2];
+ b = row[2];
+ char *debugbb;
while((a = strstr(b, "*")) != NULL) {
*a = '\0';
while((a = strstr(b, "*")) != NULL) {
*a = '\0';
- topiclistpos += sprintf(topiclist + topiclistpos, "%s%s", b, newtopic);
+ if(isdigit(newtopic[0]) && isdigit(b[strlen(b)-1]))
+ debugbb = "\002\002"; //double bold to prevent following digits used as color code
+ else
+ debugbb = "";
+ topiclistpos += sprintf(topiclist + topiclistpos, "%s%s%s", b, debugbb, newtopic);
b = a+1;
}
topiclistpos += sprintf(topiclist + topiclistpos, "%s", b);
b = a+1;
}
topiclistpos += sprintf(topiclist + topiclistpos, "%s", b);