]>
Commit | Line | Data |
---|---|---|
70482933 RK |
1 | /**************************************************************************** |
2 | * * | |
3 | * GNAT COMPILER COMPONENTS * | |
4 | * * | |
5 | * C I O * | |
6 | * * | |
7 | * C Implementation File * | |
8 | * * | |
bcea76b6 | 9 | * Copyright (C) 1992-2003 Free Software Foundation, Inc. * |
70482933 RK |
10 | * * |
11 | * GNAT is free software; you can redistribute it and/or modify it under * | |
12 | * terms of the GNU General Public License as published by the Free Soft- * | |
13 | * ware Foundation; either version 2, or (at your option) any later ver- * | |
14 | * sion. GNAT is distributed in the hope that it will be useful, but WITH- * | |
15 | * OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * | |
16 | * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * | |
17 | * for more details. You should have received a copy of the GNU General * | |
18 | * Public License distributed with GNAT; see file COPYING. If not, write * | |
19 | * to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, * | |
20 | * MA 02111-1307, USA. * | |
21 | * * | |
22 | * As a special exception, if you link this file with other files to * | |
23 | * produce an executable, this file does not by itself cause the resulting * | |
24 | * executable to be covered by the GNU General Public License. This except- * | |
25 | * ion does not however invalidate any other reasons why the executable * | |
26 | * file might be covered by the GNU Public License. * | |
27 | * * | |
28 | * GNAT was originally developed by the GNAT team at New York University. * | |
71ff80dc | 29 | * Extensive contributions were provided by Ada Core Technologies Inc. * |
70482933 RK |
30 | * * |
31 | ****************************************************************************/ | |
32 | ||
33 | #ifdef IN_RTS | |
34 | #include "tconfig.h" | |
35 | #include "tsystem.h" | |
36 | #include <sys/stat.h> | |
37 | #else | |
38 | #include "config.h" | |
39 | #include "system.h" | |
40 | #endif | |
41 | ||
42 | #include "adaint.h" | |
43 | ||
5d1a9698 | 44 | /* Don't use macros on GNU/Linux since they cause incompatible changes between |
70482933 RK |
45 | glibc 2.0 and 2.1 */ |
46 | #ifdef linux | |
47 | #undef putchar | |
48 | #undef getchar | |
49 | #undef fputc | |
50 | #undef stderr | |
fbf5a39b | 51 | #undef stdout |
70482933 RK |
52 | #endif |
53 | ||
54 | int | |
55 | get_char () | |
56 | { | |
57 | #ifdef VMS | |
58 | return decc$getchar(); | |
59 | #else | |
60 | return getchar (); | |
61 | #endif | |
62 | } | |
63 | ||
64 | int | |
65 | get_int () | |
66 | { | |
67 | int x; | |
68 | ||
69 | scanf (" %d", &x); | |
70 | return x; | |
71 | } | |
72 | ||
73 | void | |
74 | put_int (x) | |
75 | int x; | |
76 | { | |
fbf5a39b AC |
77 | /* Use fprintf rather than printf, since the latter is unbuffered |
78 | on vxworks */ | |
79 | fprintf (stdout, "%d", x); | |
70482933 RK |
80 | } |
81 | ||
82 | void | |
83 | put_int_stderr (x) | |
84 | int x; | |
85 | { | |
86 | fprintf (stderr, "%d", x); | |
87 | } | |
88 | ||
89 | void | |
90 | put_char (c) | |
91 | int c; | |
92 | { | |
93 | putchar (c); | |
94 | } | |
95 | ||
96 | void | |
97 | put_char_stderr (c) | |
98 | int c; | |
99 | { | |
100 | fputc (c, stderr); | |
101 | } | |
70482933 RK |
102 | |
103 | #ifdef __vxworks | |
104 | ||
105 | char * | |
106 | mktemp (template) | |
107 | char *template; | |
108 | { | |
109 | return tmpnam (NULL); | |
110 | } | |
111 | #endif |