From feacb945dafaef16ab0a07d9b960c9a07496d0ce Mon Sep 17 00:00:00 2001
From: deuce <>
Date: Fri, 13 Sep 2013 23:32:18 +0000
Subject: [PATCH] Attempt to fix the many ways that parse_cmd_prefix() is
 broken.

---
 exec/load/ircbot_functions.js | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/exec/load/ircbot_functions.js b/exec/load/ircbot_functions.js
index 7735b1a6fe..8f84a6970f 100644
--- a/exec/load/ircbot_functions.js
+++ b/exec/load/ircbot_functions.js
@@ -259,16 +259,17 @@ function get_command_channel(srv,cmd) {
 }
 
 function parse_cmd_prefix(cmd) {
-	var pre=get_cmd_prefix();
-	cmd[1] = cmd[1].substr(pre.length).toUpperCase();
-	if ((cmd[1] == truncsp(get_cmd_prefix())) 
+	var pre=truncsp(get_cmd_prefix());
+
+	cmd[1] = cmd[1].substr(1).toUpperCase();
+	if ((cmd[1] == pre) 
 		 && cmd[2]) {
 		cmd.shift();
 		cmd.shift();
-	} else if(cmd[1][0] == truncsp(get_cmd_prefix())) {
+	} else if(cmd[1].search(new RegExp(pre+"\b")) == 0) {
 		cmd.shift();
-		cmd[0] = cmd[0].substr(1);
-	} else if(get_cmd_prefix()=="") {
+		cmd[0] = cmd[0].replace(new RegExp(pre+"\s*"));
+	} else if(pre=="") {
 		cmd.shift();
 	} else {
 		return false;
-- 
GitLab