www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2017/10/07/17:41:37

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]" <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> <CAA2C=vBWY7HYeu+tdO=WYN=wEmWfhLXWgH-9PtSvZkMs54rs1Q AT mail DOT gmail DOT com> <5980C3AA DOT 2080305 AT gmx DOT de> <euccrcFp8kqU1 AT mid DOT dfncis 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>
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]"<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 <stdio.h>
+
+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 <math.h>
  #include <limits.h>
  #include <libc/file.h>
  #include <libc/local.h>
  #include <libc/ieee.h>
+#include <libc/doprsc.h>
  #include <sys/cdefs.h>

  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 <stdlib.h>
  #include <ctype.h>
  #include <locale.h>
  #include <stddef.h>
  #include <errno.h>
+#include <libc/doprsc.h>
  #include <libc/file.h>
  #include <libc/local.h>

  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 <stdarg.h>
  #include <stdio.h>
  #include <libc/file.h>
+#include <libc/doprsc.h>

  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 <stdio.h>
  #include <stdarg.h>
  #include <libc/file.h>
+#include <libc/doprsc.h>

  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 <stdarg.h>
  #include <stdio.h>
  #include <libc/file.h>
+#include <libc/doprsc.h>

  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 <stdio.h>
  #include <stdarg.h>
  #include <libc/file.h>
+#include <libc/doprsc.h>

  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 <stdarg.h>
  #include <stdio.h>
+#include <libc/doprsc.h>

  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 <stdarg.h>
  #include <stdio.h>
  #include <limits.h>
  #include <libc/file.h>
+#include <libc/doprsc.h>

  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 <stdio.h>
  #include <stdarg.h>
  #include <libc/file.h>
+#include <libc/doprsc.h>

  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 <stdio.h>
  #include <stdarg.h>
  #include <libc/file.h>
+#include <libc/doprsc.h>

  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 <stdio.h>
  #include <stdarg.h>
  #include <libc/file.h>
+#include <libc/doprsc.h>

  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 <stdio.h>
  #include <string.h>
  #include <stdarg.h>
  #include <limits.h>
  #include <errno.h>
  #include <libc/file.h>
+#include <libc/doprsc.h>

  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 <stdio.h>
  #include <stdarg.h>
  #include <limits.h>
  #include <libc/file.h>
+#include <libc/doprsc.h>

  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 <stdio.h>
  #include <stdlib.h>
  #include <string.h>
  #include <stdarg.h>
  #include <limits.h>
  #include <errno.h>
  #include <libc/file.h>
+#include <libc/doprsc.h>

  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 <stdio.h>
  #include <stdlib.h>
  #include <string.h>
  #include <libc/file.h>
+#include <libc/doprsc.h>

  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 <stdio.h>
  #include <stdarg.h>
+#include <libc/doprsc.h>

  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 <stdio.h>
  #include <stdarg.h>
  #include <libc/file.h>
+#include <libc/doprsc.h>

  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 <dpmi.h>
  #include <libc/farptrgs.h>
  #include <conio.h>
  #include <libc/bss.h>
  #include <libc/unconst.h>
+#include <libc/doprsc.h>

  int _wscroll = 1;

  int directvideo = 1;  /* We ignore this */

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019