]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
(sexp_transport_iterator_first): Updated to new
authorNiels Möller <nisse@lysator.liu.se>
Wed, 30 Oct 2002 20:54:13 +0000 (21:54 +0100)
committerNiels Möller <nisse@lysator.liu.se>
Wed, 30 Oct 2002 20:54:13 +0000 (21:54 +0100)
conventions for base64_decode_update and base64_decode_final.

Rev: src/nettle/sexp-transport.c:1.2

sexp-transport.c

index 7737891caa8fc0865e77a1a22f3b818031fe367e..73e8c876408d9a94dcd54a959785e89efed2795e 100644 (file)
@@ -60,6 +60,7 @@ sexp_transport_iterator_first(struct sexp_iterator *iterator,
        {
          /* Found transport encoding */
          struct base64_decode_ctx ctx;
+         unsigned length;
          unsigned end;
 
          for (end = ++in; end < length && input[end] != '}'; end++)
@@ -69,13 +70,18 @@ sexp_transport_iterator_first(struct sexp_iterator *iterator,
            return 0;
            
          base64_decode_init(&ctx);
-           
-         out += base64_decode_update(&ctx, input + out,
-                                     end - in, input + in);
-         if (!base64_decode_status(&ctx))
+         length = end - in;
+         
+         if (base64_decode_update(&ctx, &length, input + out,
+                                  length, input + in)
+             && base64_decode_final(&ctx))
+           {     
+             out += length;
+             in = end + 1;
+           }
+         else
            return 0;
-         in = end + 1;
-
+         
          break;
        }
       default: