From a80d4a9b50ad47eae1f8c740dd73804311e38783 Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Tue, 4 Apr 2017 17:38:50 +0200 Subject: [PATCH] gpgscm: Simplify get-output-string operation. * tests/gpgscm/scheme.c (opexe_4): Simplify 'get-output-string'. Signed-off-by: Justus Winter --- tests/gpgscm/scheme.c | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/tests/gpgscm/scheme.c b/tests/gpgscm/scheme.c index 3c7afa3bd..736486fde 100644 --- a/tests/gpgscm/scheme.c +++ b/tests/gpgscm/scheme.c @@ -4811,20 +4811,12 @@ static pointer opexe_4(scheme *sc, enum scheme_opcodes op) { port *p; if ((p=car(sc->args)->_object._port)->kind&port_string) { - off_t size; - char *str; - - size=p->rep.string.curr-p->rep.string.start+1; - str=sc->malloc(size); - if(str != NULL) { - pointer s; - - memcpy(str,p->rep.string.start,size-1); - str[size-1]='\0'; - s=mk_string(sc,str); - sc->free(str); - s_return(sc,s); - } + gc_disable(sc, 1); + s_return_enable_gc( + sc, + mk_counted_string(sc, + p->rep.string.start, + p->rep.string.curr - p->rep.string.start)); } s_return(sc,sc->F); }