diff options
Diffstat (limited to 'src/Misc.cpp')
| -rw-r--r-- | src/Misc.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/Misc.cpp b/src/Misc.cpp index 918e5c4..183dfb1 100644 --- a/src/Misc.cpp +++ b/src/Misc.cpp @@ -622,21 +622,30 @@ 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[2]==':' && str[3]>='0' && str[3]<='9') + { + p=str+4; + while (*p>='0' && *p<='9') + p++; + } + if (*p=='|') { r=p-str; while (*p) p++; if (p[-1]=='}') + { + if(type) + *type = str[1]; return r; + } } } return 0; |
