Create BIO_read_ex() which handles size_t arguments Also extend BIO_METHOD to be able to supply an implementation for the new BIO_read function. Reviewed-by: Richard Levitte <levitte@openssl.org>
diff --git a/include/internal/bio.h b/include/internal/bio.h index 3b6a6ac..f840bcd 100644 --- a/include/internal/bio.h +++ b/include/internal/bio.h
@@ -13,7 +13,8 @@ int type; const char *name; int (*bwrite) (BIO *, const char *, int); - int (*bread) (BIO *, char *, int); + int (*bread) (BIO *, char *, size_t, size_t *); + int (*bread_old) (BIO *, char *, int); int (*bputs) (BIO *, const char *); int (*bgets) (BIO *, char *, int); long (*ctrl) (BIO *, int, long, void *); @@ -24,3 +25,7 @@ void bio_free_ex_data(BIO *bio); void bio_cleanup(void); + + +/* Old style to new style BIO_METHOD conversion functions */ +int bread_conv(BIO *bio, char *out, size_t outl, size_t *read);