summaryrefslogtreecommitdiff
path: root/src/Misc.cpp
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2013-10-29 19:43:02 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2013-10-29 19:43:02 (GMT)
commitf2e28ee66721f9db1a6fe93604a7db3cbcb71199 (patch)
tree28fbf3648046e29110b61676d233e8890647e4fb /src/Misc.cpp
parente78dcae8517e3cc9efc4883935655d7098ab54b1 (diff)
parent30d985ba7716238819185b96f811f7f6e5f4ffdb (diff)
downloadpowder-f2e28ee66721f9db1a6fe93604a7db3cbcb71199.zip
powder-f2e28ee66721f9db1a6fe93604a7db3cbcb71199.tar.gz
Merge branch 'feature_sparksigns' into develop
Diffstat (limited to 'src/Misc.cpp')
-rw-r--r--src/Misc.cpp23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/Misc.cpp b/src/Misc.cpp
index 918e5c4..39db54b 100644
--- a/src/Misc.cpp
+++ b/src/Misc.cpp
@@ -622,21 +622,34 @@ void membwand(void * destv, void * srcv, size_t destsize, size_t srcsize)
}
}
-int splitsign(const char* str)
+int splitsign(const char* str, char * type)
{
int match=0,r;
- if (str[0]=='{' && (str[1]=='c' || str[1]=='t') && str[2]==':' && str[3]>='0' && str[3]<='9')
+ if (str[0]=='{' && (str[1]=='c' || str[1]=='t' || str[1]=='b'))
{
- const char* p=str+4;
- while (*p>='0' && *p<='9')
- p++;
+ const char* p=str+2;
+ if(str[1] != 'b') {
+ if(str[2]==':' && str[3]>='0' && str[3]<='9')
+ {
+ p=str+4;
+ while (*p>='0' && *p<='9')
+ p++;
+ }
+ else
+ return 0;
+ }
+
if (*p=='|')
{
r=p-str;
while (*p)
p++;
if (p[-1]=='}')
+ {
+ if(type)
+ *type = str[1];
return r;
+ }
}
}
return 0;