| summaryrefslogtreecommitdiff |
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2016-09-23 15:26:09 +0200 |
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2016-09-23 15:26:09 +0200 |
| commit | 663fe641bae1c5349e62fd8d964960fdebb97f9c (patch) | |
| tree | 87f4f3323e573c74c1eb4f08aca267907ba80d64 /src/tool/strings.c | |
| parent | 7e8cb867ba9ca9d0f533a8329712117ba38115a6 (diff) | |
Improves support for CTCP ACTIONs.
Diffstat (limited to 'src/tool/strings.c')
| -rw-r--r-- | src/tool/strings.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/tool/strings.c b/src/tool/strings.c index 9fe13f6..73a5cdd 100644 --- a/src/tool/strings.c +++ b/src/tool/strings.c @@ -224,6 +224,26 @@ int ZoO_strings_parse w_start = i; + if (input[i] == '\001') + { + /* This is an CTCP command. */ + /* We'll remove the trailing '\001' so that only the first word */ + /* indicates the need for CTCP (uppercase) syntax. */ + + if ((input_size >= 1) && (input[input_size - 1] == '\001')) + { + input[input_size - 1] = ' '; + } + else + { + ZoO_WARNING + ( + "CTCP sequence '%s' did not end with a \\001 character.", + input + ); + } + } + for (; i < input_size; ++i) { if (input[i] == ' ') @@ -265,7 +285,7 @@ int ZoO_strings_parse s, punctuations_count, punctuations, - /* overflow-safe: w_start < i */ + /* overflow-safe: w_start =< i */ (i - w_start), (input + w_start) ) < 0 |


