head	1.3;
access;
symbols
	RELEASE_6_0_0:1.2
	RELEASE_5_4_0:1.2
	RELEASE_4_11_0:1.2
	RELEASE_5_3_0:1.2
	RELEASE_4_10_0:1.2
	RELEASE_5_2_1:1.2
	RELEASE_5_2_0:1.2
	RELEASE_4_9_0:1.2
	RELEASE_5_1_0:1.2
	RELEASE_4_8_0:1.2
	RELEASE_5_0_0:1.2
	RELEASE_4_7_0:1.2
	RELEASE_4_6_2:1.2
	RELEASE_4_6_1:1.2
	RELEASE_4_6_0:1.2
	RELEASE_5_0_DP1:1.2
	RELEASE_4_5_0:1.2
	RELEASE_4_4_0:1.2
	RELEASE_4_3_0:1.2
	RELEASE_4_2_0:1.2
	RELEASE_4_1_1:1.1
	RELEASE_4_1_0:1.1
	RELEASE_3_5_0:1.1
	RELEASE_4_0_0:1.1
	RELEASE_3_4_0:1.1;
locks; strict;
comment	@# @;


1.3
date	2005.11.29.00.01.24;	author deischen;	state dead;
branches;
next	1.2;

1.2
date	2000.11.01.18.57.03;	author deischen;	state Exp;
branches;
next	1.1;

1.1
date	99.11.09.12.33.35;	author deischen;	state Exp;
branches;
next	;


desc
@@


1.3
log
@Update the antiquated version of the GNAT compiler to the GPL-2005
version.

Note that this version now produces executables that are
covered by the GPL as opposed to the previous version which was
covered by the modified GPL.

Also note that the GNAT sources in the stock GCC-4 tree are
not under this restriction.  A new port based on the sources
in GCC-4 will come when I get the time.
@
text
@*** ada/i-cstrea.adb	Fri Sep 24 08:42:42 1999
--- ada/i-cstrea.adb	Sat Nov  6 18:33:57 1999
***************
*** 108,111 ****
--- 108,136 ----
        return C_setvbuf (stream, buffer, mode, size);
     end setvbuf;
  
+    procedure strcpy (dst : chars; src : chars);
+    pragma Import (C, strcpy);
+ 
+    function C_mktemp (template : chars) return chars;
+    pragma Import (C, C_mktemp, "mktemp");
+ 
+    procedure tmpnam (tname : chars) is
+       use type System.Address;
+       Template : String (1 .. 18) := "/var/tmp/tmp.XXXX" & ASCII.Nul;
+       Name     : chars;
+    begin
+       Name := C_mktemp (Template'Address);
+       if Name /= System.Null_Address then
+          strcpy (tname'Address, Name);
+       end if;
+    end tmpnam;
+ 
+    function tmpfile return FILEs is
+       Name : String (1 .. L_tmpnam) := (others => ASCII.Nul);
+       Mode : String (1 .. 3) := "w+" & ASCII.Nul;
+    begin
+       tmpnam (Name'Address);
+       return (fopen (Name'Address, Mode'Address));
+    end tmpfile;
+ 
  end Interfaces.C_Streams;
@


1.2
log
@Update to the latest public release 3.13p.

Thanks to Samuel Tardieu <sam@@inf.enst.fr> for instigating this
update and providing some of the changes.
@
text
@@


1.1
log
@Upgrade GNAT to GNAT-3.12p, the latest public release from Ada Core
Technologies.
@
text
@d17 1
a17 1
+       Template : string (1 .. 18) := "/var/tmp/tmp.XXXX" & Ascii.Nul;
d27 2
a28 2
+       Name : string (1 .. L_tmpnam) := (others => Ascii.Nul);
+       Mode : string (1 .. 3) := "w+" & Ascii.Nul;
@

