diff options
| author | Simon 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) |
| commit | f2e28ee66721f9db1a6fe93604a7db3cbcb71199 (patch) | |
| tree | 28fbf3648046e29110b61676d233e8890647e4fb /src/Misc.cpp | |
| parent | e78dcae8517e3cc9efc4883935655d7098ab54b1 (diff) | |
| parent | 30d985ba7716238819185b96f811f7f6e5f4ffdb (diff) | |
| download | powder-f2e28ee66721f9db1a6fe93604a7db3cbcb71199.zip powder-f2e28ee66721f9db1a6fe93604a7db3cbcb71199.tar.gz | |
Merge branch 'feature_sparksigns' into develop
Diffstat (limited to 'src/Misc.cpp')
| -rw-r--r-- | src/Misc.cpp | 23 |
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; |
