summaryrefslogtreecommitdiff
path: root/dbug
diff options
context:
space:
mode:
authorserg@janus.mylan <>2007-01-28 21:11:42 +0100
committerserg@janus.mylan <>2007-01-28 21:11:42 +0100
commit24186aa176dd6e91b5f425de2eabab06b743e07c (patch)
tree6e36d1c810037d8a679feec2df470f30ca897a05 /dbug
parentb9008b0e1b0c9b58db2f37f037d2f8d5f7d22084 (diff)
downloadmariadb-git-24186aa176dd6e91b5f425de2eabab06b743e07c.tar.gz
dbug: don't consider double colom (::) a separator -
it can be part of a function name (Item::reset)
Diffstat (limited to 'dbug')
-rw-r--r--dbug/dbug.c6
-rw-r--r--dbug/user.r11
2 files changed, 9 insertions, 8 deletions
diff --git a/dbug/dbug.c b/dbug/dbug.c
index ef63f660543..c212e9117a1 100644
--- a/dbug/dbug.c
+++ b/dbug/dbug.c
@@ -1995,12 +1995,14 @@ static char *DbugMalloc(size_t size)
/*
- * strtok lookalike - splits on ':', magically handles :\ and :/
+ * strtok lookalike - splits on ':', magically handles ::, :\ and :/
*/
static const char *DbugStrTok(const char *s)
{
- while (s[0] && (s[0] != ':' || (s[1] == '\\' || s[1] == '/')))
+ const char *start=s;
+ while (s[0] && (s[0] != ':' ||
+ (s[1] == '\\' || s[1] == '/' || (s[1] == ':' && s++))))
s++;
return s;
}
diff --git a/dbug/user.r b/dbug/user.r
index 3bcc0c91d1d..e41367de321 100644
--- a/dbug/user.r
+++ b/dbug/user.r
@@ -908,9 +908,10 @@ via the
.B DBUG_PUSH
or
.B DBUG_SET
-macros. Control string consists of colon separate flags. A flag
-may take an argument or a list of arguments. If a control string
-starts from a '+' sign it works
+macros. Control string consists of colon separate flags. Colons
+that are part of ':\\', ':/', or '::' are not considered flag
+separators. A flag may take an argument or a list of arguments.
+If a control string starts from a '+' sign it works
.I incrementally,
that is, it can modify existing state without overriding it. In such a
string every flag may be preceded by a '+' or '-' to enable or disable
@@ -923,9 +924,7 @@ optional.
.LI a[,file]
Redirect the debugger output stream and append it to the specified
file. The default output stream is stderr. A null argument list
-causes output to be redirected to stdout. A colon that is followed by
-the '\\' or '/' is cosidered a part of the path and not a flag
-separator.
+causes output to be redirected to stdout.
.SP 1
EX: \fCa,C:\\tmp\\log\fR
.LI A[,file]