summaryrefslogtreecommitdiff
path: root/src/Misc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Misc.cpp')
-rw-r--r--src/Misc.cpp19
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;