diff --git a/src/lib66/instance.c b/src/lib66/instance.c index c246ed5a94a2e664bfcafae6464a5779ba1db271..5ae5f6ec69e6128953bd2a5915b517479ba5eeee 100644 --- a/src/lib66/instance.c +++ b/src/lib66/instance.c @@ -53,11 +53,15 @@ int instance_splitname(stralloc *sa,char const *name,int len,int what) sa->len = 0 ; if (!what) + { if (!stralloc_cats(sa,template) || !stralloc_0(sa)) return 0 ; + } else + { if (!stralloc_catb(sa,copy,strlen(copy)) || !stralloc_0(sa)) return 0 ; + } return 1 ; } @@ -68,10 +72,6 @@ int instance_create(stralloc *sasv,char const *svname, char const *regex, int le stralloc tmp = STRALLOC_ZERO ; - char template[tlen + 1] ; - memcpy(template,svname,tlen) ; - template[tlen] = 0 ; - if (!auto_stra(&tmp,sasv->s)) goto err ; copy = svname + tlen ;