X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Recipient: djgpp AT delorie DOT com Message-ID: <59D94AEB.8050700@gmx.de> Date: Sat, 07 Oct 2017 23:45:15 +0200 From: "Juan Manuel Guerrero (juan DOT guerrero AT gmx DOT de) [via djgpp AT delorie DOT com]" User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.2.13) Gecko/20101206 SUSE/3.1.7 Thunderbird/3.1.7 MIME-Version: 1.0 To: djgpp AT delorie DOT com Subject: Re: ANNOUNCE: DJGPP port of GNU binutils 2.29 uploaded. References: <201707301540 DOT v6UFecLb017840 AT delorie DOT com> <5980C3AA DOT 2080305 AT gmx DOT de> <598108FD DOT 5060908 AT gmx DOT de> <83ini6zmsv DOT fsf AT gnu DOT org> <5984FE96 DOT 9040905 AT gmx DOT de> In-Reply-To: <5984FE96.9040905@gmx.de> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:vxSmFyIxAyhUTa5xxV5YvWpqvBkAhEooAysuAaHx1hc6Y3liWgm FAU9uI6VhbBLRVCscTsucfCnTNUlYQzNTZ6yh1HsbGFcIsXwTE4Vi0IDujZJNaEfbypZt72 IoSuQAp+NTAECL9uQ+0p1VaEmV6ucRaChvjyovVSw4COSwr3uCgqjtePpujDFW7W6X04UoS 7WAucZdLd5fqWiM4/akRg== X-UI-Out-Filterresults: notjunk:1;V01:K0:UsvLqcPMww8=:xJYaTWtuntS+Ii1b8PObWV cN+FGotot+cuRSIwrWqenGEvs7vICubpV3I2xBcQ65s5ehZowxINY5S0cjlG093yKa3a4peMG wcQxWL2xkOS+3rnFj6+I7k5eCKs747Hj1dK6Wvm3TQ7KuQyY/G0lxvIRygyuRMtoI9a7CSr3/ rLM3UtCPejaqkFzsekU1t1LU+PspVjQ/iWuRsUNOj3NVqMnRxhBxS6Q+AkLfQHv8K3JK1HPJ/ F6o5tBtliivZayPyNyeEXLtqufpGLcZ0wc9wCXLK18KS9SeUmnv54b6eKvtlPBF9iBIzhntjT QgrVFUOdJyJIEfgBy8R+s1RXKOaLCvpkWSQXo//Ut21zjg9JP1GrbWUWzVbKnTDOLjQkGIdGb Fykk1+D9U4UeD2Yqtr/+REtSHf4+GlY3/J4CjC5iUR8xooa5QZBEH2f4FAwRudqwrB3G+Cqm4 ooxC2aOl7xL8pggADXbUxhBdy7ALqfLNZ7vwA6N2j61Foo95bJ59uC/9EUUscHCR/FPXsOJXW uxMKi/7LQJE9wOV7wPlp16UaB8CzSgW6rwr2T7VzyfYX+Ly1+MBs5edTOh6bY5pIe1dVlL7Pd nGScHgxYF8ayea9KqtuNKJTL6L4bZZZ4ONPf+gtbud4lLSQ7p22q+gCHN2Lz1T79uh225CQiI odzquJl4SVR7Q9c98fNpCFeizEMkPNP9nWuLkfol0kJfXkWeV3b5Hk3BOLVqIgHMJ+U5oMjNd n637EdIhnEbLuDp9ECyTVZLD8lC2/vwtTSZG1B3+IW55StGY3F16sR0iCCwm/pT1NiWTjsCv3 U5+tiyOzrP4eMgOaUXrzr1p4BipL8kSYTKFKFsLJ9SmeVs4td4= Reply-To: djgpp AT delorie DOT com Am 05.08.2017 01:09, schrieb Juan Manuel Guerrero (juan DOT guerrero AT gmx DOT de) [via djgpp AT delorie DOT com]: > Am 02.08.2017 05:11, schrieb Eli Zaretskii (eliz AT gnu DOT org) [via djgpp AT delorie DOT com]: >>> Date: Wed, 02 Aug 2017 01:04:29 +0200 >>> From: "Juan Manuel Guerrero (juan DOT guerrero AT gmx DOT de) [via djgpp AT delorie DOT com]" >>> >>> IMHO it is easier to fix stdio.h than start endless discussion with the binutils >>> maintainers. I do not think that the DJGPP user group is still so large that >>> some one will be hurd if we change _doprnt by __doprnt or something similar. >> >> Renaming our _doprnt is certainly doable, but it means some >> application that really needs our _doprnt will now become broken. >> >> An alternative would be to move _doprint to some other header, like >> libc/doprnt.h. > > > I have moved the _doprnt, _doscan and _doscan_low declarations to libc/doprnt. > The file name is arbitrary. If some one has a more appropriate one, please > let me know. I have intentionaly moved also _doscan and _doscan_low together > with _doprnt. I have seen no reasons to move one of them and let the other > ones. This shall avoid possible future issues. > It is ok with me if someone likes to send a DJGPP specific fix to the binutils > maintainers. I have checked that binutils can be compiled without changes > with a libc modified by this patch. > If no one complains about these changes in a period of 3 or 4 weeks I will > assume that the changes have been accepted and will commit them. I had encouraged every DJGPP user to send a patch to fix the _doprnt conflict in bfd.c. An inspection of binutils-2.29.1 shows that the issue has not been fixed and thus I have to assume that either no one has send a fix to the binutils maintainers or they have refused to fix this DJGPP specific issue. Thus I will commit the patch below today to fix this issue at libc level. As discussed before, the problematic declarations will be moved into a new header. Regards, Juan M. Guerrero diff -aprNU5 djgpp.orig/include/libc/doprsc.h djgpp/include/libc/doprsc.h --- djgpp.orig/include/libc/doprsc.h 1970-01-01 00:00:00 +0000 +++ djgpp/include/libc/doprsc.h 2017-10-07 21:26:12 +0000 @@ -0,0 +1,37 @@ +/* Copyright (C) 2017 DJ Delorie, see COPYING.DJ for details */ +#ifndef __dj_include_doprsc_h_ +#define __dj_include_doprsc_h_ + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __dj_ENFORCE_ANSI_FREESTANDING + +#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \ + || !defined(__STRICT_ANSI__) || defined(__cplusplus) + +#endif /* (__STDC_VERSION__ >= 199901L) || !__STRICT_ANSI__ */ + +#ifndef __STRICT_ANSI__ + +#ifndef _POSIX_SOURCE + +#include + +int _doprnt(const char *_fmt, va_list _args, FILE *_f); +int _doscan(FILE *_f, const char *_fmt, va_list _args); +int _doscan_low(FILE *, int (*)(FILE *_get), int (*_unget)(int, FILE *), const char *_fmt, va_list _args); + +#endif /* !_POSIX_SOURCE */ +#endif /* !__STRICT_ANSI__ */ +#endif /* !__dj_ENFORCE_ANSI_FREESTANDING */ + +#ifndef __dj_ENFORCE_FUNCTION_CALLS +#endif /* !__dj_ENFORCE_FUNCTION_CALLS */ + +#ifdef __cplusplus +} +#endif + +#endif /* !__dj_include_doprsc_h_ */ Index: djgpp/include/stdio.h =================================================================== RCS file: /cvs/djgpp/djgpp/include/stdio.h,v retrieving revision 1.18 diff -U 5 -r1.18 stdio.h --- djgpp/include/stdio.h 28 Jan 2014 19:52:41 -0000 1.18 +++ djgpp/include/stdio.h 7 Oct 2017 21:35:41 -0000 @@ -1,5 +1,6 @@ +/* Copyright (C) 2017 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2014 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2013 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2003 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2002 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2001 DJ Delorie, see COPYING.DJ for details */ @@ -156,13 +157,10 @@ #define stdaux (&__dj_stdaux) #define P_tmpdir "c:/" void _djstat_describe_lossage(FILE *_to_where); -int _doprnt(const char *_fmt, va_list _args, FILE *_f); -int _doscan(FILE *_f, const char *_fmt, va_list _args); -int _doscan_low(FILE *, int (*)(FILE *_get), int (*_unget)(int, FILE *), const char *_fmt, va_list _args); int fpurge(FILE *_f); int getw(FILE *_f); char * mktemp(char *_template); int putw(int _v, FILE *_f); void setbuffer(FILE *_f, void *_buf, int _size); Index: djgpp/src/docs/kb/wc206.txi =================================================================== RCS file: /cvs/djgpp/djgpp/src/docs/kb/wc206.txi,v retrieving revision 1.5 diff -U 5 -r1.5 wc206.txi --- djgpp/src/docs/kb/wc206.txi 7 May 2017 12:50:13 -0000 1.5 +++ djgpp/src/docs/kb/wc206.txi 7 Oct 2017 21:35:41 -0000 @@ -25,5 +25,13 @@ @findex fcntl AT r{, and POSIX.1-2001 compliance} If the passed file descriptors are not valid for the @code{F_DUPFD} command then the call of @code{fcntl} will fail and @code{errno} will be set to @code{EINVAL}. With this adjustment, the @acronym{Posix} compliance of the @code{fcntl} implementation is increased. + +@cindex @file{libc/doprsc.h}, declarations of _doprnt, _doscan and _doscan_low +@findex _doprnt AT r{, and declaration moved} +@findex _doscan AT r{, and declaration moved} +@findex _doscan_low AT r{, and declaration moved} +To avoid function name and declaration clashes with third party libraries, the +prototypes of @code{_doprnt}, @code{_doscan} and @code{_doscan_low} have been +moved from @file{stdio.h} to @file{libc/doprsc.h}. Index: djgpp/src/libc/ansi/stdio/doprnt.c =================================================================== RCS file: /cvs/djgpp/djgpp/src/libc/ansi/stdio/doprnt.c,v retrieving revision 1.40 diff -U 5 -r1.40 doprnt.c --- djgpp/src/libc/ansi/stdio/doprnt.c 4 Jun 2015 17:55:20 -0000 1.40 +++ djgpp/src/libc/ansi/stdio/doprnt.c 7 Oct 2017 21:35:42 -0000 @@ -1,5 +1,6 @@ +/* Copyright (C) 2017 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2015 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2014 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2013 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2012 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2011 DJ Delorie, see COPYING.DJ for details */ @@ -23,10 +24,11 @@ #include #include #include #include #include +#include #include typedef enum { false = 0, true = 1 } bool; Index: djgpp/src/libc/ansi/stdio/doscan.c =================================================================== RCS file: /cvs/djgpp/djgpp/src/libc/ansi/stdio/doscan.c,v retrieving revision 1.25 diff -U 5 -r1.25 doscan.c --- djgpp/src/libc/ansi/stdio/doscan.c 23 May 2015 08:50:08 -0000 1.25 +++ djgpp/src/libc/ansi/stdio/doscan.c 7 Oct 2017 21:35:42 -0000 @@ -1,5 +1,6 @@ +/* Copyright (C) 2017 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2015 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2013 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2012 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2003 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2002 DJ Delorie, see COPYING.DJ for details */ @@ -12,10 +13,11 @@ #include #include #include #include #include +#include #include #include typedef enum { false = 0, true = 1 Index: djgpp/src/libc/ansi/stdio/fprintf.c =================================================================== RCS file: /cvs/djgpp/djgpp/src/libc/ansi/stdio/fprintf.c,v retrieving revision 1.4 diff -U 5 -r1.4 fprintf.c --- djgpp/src/libc/ansi/stdio/fprintf.c 2 May 2015 07:32:04 -0000 1.4 +++ djgpp/src/libc/ansi/stdio/fprintf.c 7 Oct 2017 21:35:42 -0000 @@ -1,12 +1,14 @@ +/* Copyright (C) 2017 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2015 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2007 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2002 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ #include #include #include +#include int fprintf(register FILE *iop, const char *fmt, ...) { va_list args; Index: djgpp/src/libc/ansi/stdio/fscanf.c =================================================================== RCS file: /cvs/djgpp/djgpp/src/libc/ansi/stdio/fscanf.c,v retrieving revision 1.1 diff -U 5 -r1.1 fscanf.c --- djgpp/src/libc/ansi/stdio/fscanf.c 26 Dec 1994 20:34:48 -0000 1.1 +++ djgpp/src/libc/ansi/stdio/fscanf.c 7 Oct 2017 21:35:42 -0000 @@ -1,9 +1,11 @@ +/* Copyright (C) 2017 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ #include #include #include +#include int fscanf(FILE *f, const char *fmt, ...) { int r; Index: djgpp/src/libc/ansi/stdio/printf.c =================================================================== RCS file: /cvs/djgpp/djgpp/src/libc/ansi/stdio/printf.c,v retrieving revision 1.3 diff -U 5 -r1.3 printf.c --- djgpp/src/libc/ansi/stdio/printf.c 8 Jun 2002 10:14:23 -0000 1.3 +++ djgpp/src/libc/ansi/stdio/printf.c 7 Oct 2017 21:35:42 -0000 @@ -1,11 +1,13 @@ +/* Copyright (C) 2017 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2002 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1998 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ #include #include #include +#include int printf(const char *fmt, ...) { va_list args; Index: djgpp/src/libc/ansi/stdio/scanf.c =================================================================== RCS file: /cvs/djgpp/djgpp/src/libc/ansi/stdio/scanf.c,v retrieving revision 1.1 diff -U 5 -r1.1 scanf.c --- djgpp/src/libc/ansi/stdio/scanf.c 26 Dec 1994 20:34:54 -0000 1.1 +++ djgpp/src/libc/ansi/stdio/scanf.c 7 Oct 2017 21:35:42 -0000 @@ -1,9 +1,11 @@ +/* Copyright (C) 2017 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ #include #include #include +#include int scanf(const char *fmt, ...) { int r; Index: djgpp/src/libc/ansi/stdio/snprintf.c =================================================================== RCS file: /cvs/djgpp/djgpp/src/libc/ansi/stdio/snprintf.c,v retrieving revision 1.4 diff -U 5 -r1.4 snprintf.c --- djgpp/src/libc/ansi/stdio/snprintf.c 2 May 2015 07:32:05 -0000 1.4 +++ djgpp/src/libc/ansi/stdio/snprintf.c 7 Oct 2017 21:35:42 -0000 @@ -1,10 +1,11 @@ /* Copyright (C) 2015 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2002 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2001 DJ Delorie, see COPYING.DJ for details */ #include #include +#include int snprintf(char *str, size_t n, const char *fmt, ...) { va_list ap; Index: djgpp/src/libc/ansi/stdio/sprintf.c =================================================================== RCS file: /cvs/djgpp/djgpp/src/libc/ansi/stdio/sprintf.c,v retrieving revision 1.6 diff -U 5 -r1.6 sprintf.c --- djgpp/src/libc/ansi/stdio/sprintf.c 2 May 2015 07:32:06 -0000 1.6 +++ djgpp/src/libc/ansi/stdio/sprintf.c 7 Oct 2017 21:35:42 -0000 @@ -1,14 +1,16 @@ +/* Copyright (C) 2017 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2015 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2004 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2002 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1999 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ #include #include #include #include +#include int sprintf(char *str, const char *fmt, ...) { va_list args; Index: djgpp/src/libc/ansi/stdio/sscanf.c =================================================================== RCS file: /cvs/djgpp/djgpp/src/libc/ansi/stdio/sscanf.c,v retrieving revision 1.5 diff -U 5 -r1.5 sscanf.c --- djgpp/src/libc/ansi/stdio/sscanf.c 2 May 2015 07:32:06 -0000 1.5 +++ djgpp/src/libc/ansi/stdio/sscanf.c 7 Oct 2017 21:35:42 -0000 @@ -1,12 +1,14 @@ +/* Copyright (C) 2017 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2015 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2004 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1999 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ #include #include #include +#include int sscanf(const char *str, const char *fmt, ...) { int r; Index: djgpp/src/libc/ansi/stdio/vfprintf.c =================================================================== RCS file: /cvs/djgpp/djgpp/src/libc/ansi/stdio/vfprintf.c,v retrieving revision 1.1 diff -U 5 -r1.1 vfprintf.c --- djgpp/src/libc/ansi/stdio/vfprintf.c 26 Dec 1994 20:34:58 -0000 1.1 +++ djgpp/src/libc/ansi/stdio/vfprintf.c 7 Oct 2017 21:35:42 -0000 @@ -1,9 +1,11 @@ +/* Copyright (C) 2017 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ #include #include #include +#include int vfprintf(FILE *f, const char *fmt, va_list ap) { int len; Index: djgpp/src/libc/ansi/stdio/vprintf.c =================================================================== RCS file: /cvs/djgpp/djgpp/src/libc/ansi/stdio/vprintf.c,v retrieving revision 1.1 diff -U 5 -r1.1 vprintf.c --- djgpp/src/libc/ansi/stdio/vprintf.c 26 Dec 1994 20:34:58 -0000 1.1 +++ djgpp/src/libc/ansi/stdio/vprintf.c 7 Oct 2017 21:35:42 -0000 @@ -1,9 +1,11 @@ +/* Copyright (C) 2017 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ #include #include #include +#include int vprintf(const char *fmt, va_list ap) { int len; Index: djgpp/src/libc/ansi/stdio/vsnprntf.c =================================================================== RCS file: /cvs/djgpp/djgpp/src/libc/ansi/stdio/vsnprntf.c,v retrieving revision 1.4 diff -U 5 -r1.4 vsnprntf.c --- djgpp/src/libc/ansi/stdio/vsnprntf.c 2 May 2015 07:32:06 -0000 1.4 +++ djgpp/src/libc/ansi/stdio/vsnprntf.c 7 Oct 2017 21:35:42 -0000 @@ -1,14 +1,16 @@ +/* Copyright (C) 2017 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2015 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2004 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2001 DJ Delorie, see COPYING.DJ for details */ #include #include #include #include #include #include +#include int vsnprintf(char *str, size_t n, const char *fmt, va_list ap) { FILE _strbuf; Index: djgpp/src/libc/ansi/stdio/vsprintf.c =================================================================== RCS file: /cvs/djgpp/djgpp/src/libc/ansi/stdio/vsprintf.c,v retrieving revision 1.6 diff -U 5 -r1.6 vsprintf.c --- djgpp/src/libc/ansi/stdio/vsprintf.c 2 May 2015 07:32:06 -0000 1.6 +++ djgpp/src/libc/ansi/stdio/vsprintf.c 7 Oct 2017 21:35:42 -0000 @@ -1,13 +1,15 @@ +/* Copyright (C) 2017 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2015 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2004 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1999 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ #include #include #include #include +#include int vsprintf(char *str, const char *fmt, va_list ap) { FILE f; Index: djgpp/src/libc/compat/stdio/vasnprtf.c =================================================================== RCS file: /cvs/djgpp/djgpp/src/libc/compat/stdio/vasnprtf.c,v retrieving revision 1.2 diff -U 5 -r1.2 vasnprtf.c --- djgpp/src/libc/compat/stdio/vasnprtf.c 26 Jan 2014 20:44:49 -0000 1.2 +++ djgpp/src/libc/compat/stdio/vasnprtf.c 7 Oct 2017 21:35:42 -0000 @@ -1,14 +1,16 @@ +/* Copyright (C) 2017 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2014 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2008 DJ Delorie, see COPYING.DJ for details */ #include #include #include #include #include #include #include +#include char * vasnprintf(char *str, size_t *np, const char *fmt, va_list argsp) { FILE _strbuf; Index: djgpp/src/libc/compat/stdio/vasprntf.c =================================================================== RCS file: /cvs/djgpp/djgpp/src/libc/compat/stdio/vasprntf.c,v retrieving revision 1.1 diff -U 5 -r1.1 vasprntf.c --- djgpp/src/libc/compat/stdio/vasprntf.c 6 Apr 2008 23:51:14 -0000 1.1 +++ djgpp/src/libc/compat/stdio/vasprntf.c 7 Oct 2017 21:35:42 -0000 @@ -1,10 +1,12 @@ +/* Copyright (C) 2017 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2008 DJ Delorie, see COPYING.DJ for details */ #include #include #include #include +#include int vasprintf(char **strp, const char *fmt, va_list argsp) { FILE _strbuf; Index: djgpp/src/libc/compat/stdio/vscanf.c =================================================================== RCS file: /cvs/djgpp/djgpp/src/libc/compat/stdio/vscanf.c,v retrieving revision 1.1 diff -U 5 -r1.1 vscanf.c --- djgpp/src/libc/compat/stdio/vscanf.c 28 Jun 1998 17:45:50 -0000 1.1 +++ djgpp/src/libc/compat/stdio/vscanf.c 7 Oct 2017 21:35:42 -0000 @@ -1,8 +1,10 @@ +/* Copyright (C) 2017 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1998 DJ Delorie, see COPYING.DJ for details */ #include #include +#include int vscanf(const char *fmt, va_list ap) { return _doscan(stdin, fmt, ap); Index: djgpp/src/libc/compat/stdio/vsscanf.c =================================================================== RCS file: /cvs/djgpp/djgpp/src/libc/compat/stdio/vsscanf.c,v retrieving revision 1.5 diff -U 5 -r1.5 vsscanf.c --- djgpp/src/libc/compat/stdio/vsscanf.c 2 May 2015 07:32:17 -0000 1.5 +++ djgpp/src/libc/compat/stdio/vsscanf.c 7 Oct 2017 21:35:42 -0000 @@ -1,12 +1,14 @@ +/* Copyright (C) 2017 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2015 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2004 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1999 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1998 DJ Delorie, see COPYING.DJ for details */ #include #include #include +#include int vsscanf(const char *str, const char *fmt, va_list ap) { FILE _strbuf; Index: djgpp/src/libc/pc_hw/co80/conio.c =================================================================== RCS file: /cvs/djgpp/djgpp/src/libc/pc_hw/co80/conio.c,v retrieving revision 1.8 diff -U 5 -r1.8 conio.c --- djgpp/src/libc/pc_hw/co80/conio.c 14 Jun 2002 14:20:14 -0000 1.8 +++ djgpp/src/libc/pc_hw/co80/conio.c 7 Oct 2017 21:35:42 -0000 @@ -1,5 +1,6 @@ +/* Copyright (C) 2017 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 2002 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1999 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1998 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1997 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1996 DJ Delorie, see COPYING.DJ for details */ @@ -15,10 +16,11 @@ #include #include #include #include #include +#include int _wscroll = 1; int directvideo = 1; /* We ignore this */