X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fbio%2Fbss_file.c;h=1f770b390f8f5f08efe710b30f9a329b7d9331ec;hb=7d09713d09f41778c92913d57a877a4eb1aebbfc;hp=323286b09fcd2fba808745edd9b1cec369f617b3;hpb=a9be3af5ad4836f7e50f0546311ca90c717b861e;p=oweals%2Fopenssl.git diff --git a/crypto/bio/bss_file.c b/crypto/bio/bss_file.c index 323286b09f..1f770b390f 100644 --- a/crypto/bio/bss_file.c +++ b/crypto/bio/bss_file.c @@ -73,11 +73,11 @@ #if !defined(NO_STDIO) -static int MS_CALLBACK file_write(BIO *h,char *buf,int num); -static int MS_CALLBACK file_read(BIO *h,char *buf,int size); -static int MS_CALLBACK file_puts(BIO *h,char *str); -static int MS_CALLBACK file_gets(BIO *h,char *str,int size); -static long MS_CALLBACK file_ctrl(BIO *h,int cmd,long arg1,char *arg2); +static int MS_CALLBACK file_write(BIO *h, const char *buf, int num); +static int MS_CALLBACK file_read(BIO *h, char *buf, int size); +static int MS_CALLBACK file_puts(BIO *h, const char *str); +static int MS_CALLBACK file_gets(BIO *h, char *str, int size); +static long MS_CALLBACK file_ctrl(BIO *h, int cmd, long arg1, void *arg2); static int MS_CALLBACK file_new(BIO *h); static int MS_CALLBACK file_free(BIO *data); static BIO_METHOD methods_filep= @@ -91,9 +91,10 @@ static BIO_METHOD methods_filep= file_ctrl, file_new, file_free, + NULL, }; -BIO *BIO_new_file(char *filename, char *mode) +BIO *BIO_new_file(const char *filename, const char *mode) { BIO *ret; FILE *file; @@ -162,7 +163,7 @@ static int MS_CALLBACK file_read(BIO *b, char *out, int outl) return(ret); } -static int MS_CALLBACK file_write(BIO *b, char *in, int inl) +static int MS_CALLBACK file_write(BIO *b, const char *in, int inl) { int ret=0; @@ -171,14 +172,14 @@ static int MS_CALLBACK file_write(BIO *b, char *in, int inl) if (fwrite(in,(int)inl,1,(FILE *)b->ptr)) ret=inl; /* ret=fwrite(in,1,(int)inl,(FILE *)b->ptr); */ - /* acording to Tim Hudson , the commented + /* according to Tim Hudson , the commented * out version above can cause 'inl' write calls under * some stupid stdio implementations (VMS) */ } return(ret); } -static long MS_CALLBACK file_ctrl(BIO *b, int cmd, long num, char *ptr) +static long MS_CALLBACK file_ctrl(BIO *b, int cmd, long num, void *ptr) { long ret=1; FILE *fp=(FILE *)b->ptr; @@ -200,7 +201,7 @@ static long MS_CALLBACK file_ctrl(BIO *b, int cmd, long num, char *ptr) break; case BIO_C_SET_FILE_PTR: file_free(b); - b->shutdown=(int)num; + b->shutdown=(int)num&BIO_CLOSE; b->ptr=(char *)ptr; b->init=1; #if defined(MSDOS) || defined(WINDOWS) @@ -293,7 +294,7 @@ static int MS_CALLBACK file_gets(BIO *bp, char *buf, int size) return(ret); } -static int MS_CALLBACK file_puts(BIO *bp, char *str) +static int MS_CALLBACK file_puts(BIO *bp, const char *str) { int n,ret;