aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustus Winter <[email protected]>2017-04-04 15:38:50 +0000
committerJustus Winter <[email protected]>2017-04-04 16:19:35 +0000
commita80d4a9b50ad47eae1f8c740dd73804311e38783 (patch)
tree7954f14109f6fef4000ffd155b5fed0650d7df84
parentgpgscm: Simplify substring operation. (diff)
downloadgnupg-a80d4a9b50ad47eae1f8c740dd73804311e38783.tar.gz
gnupg-a80d4a9b50ad47eae1f8c740dd73804311e38783.zip
gpgscm: Simplify get-output-string operation.
* tests/gpgscm/scheme.c (opexe_4): Simplify 'get-output-string'. Signed-off-by: Justus Winter <[email protected]>
-rw-r--r--tests/gpgscm/scheme.c20
1 files 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);
}