~ubuntu-branches/ubuntu/trusty/mit-scheme/trusty-proposed

« back to all changes in this revision

Viewing changes to src/microcode/prosio.c

  • Committer: Bazaar Package Importer
  • Author(s): Evan Broder
  • Date: 2009-03-08 00:46:17 UTC
  • mfrom: (1.1.6 upstream) (3.1.3 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090308004617-csqyjpnkg7daq9c4
Tags: 7.7.90+20090107-1ubuntu1
* Merge from debian unstable, remaining changes (LP: #288000, #217792):
  * Bootstrapping done via binary package from Debian unstable. See log
      entry for 7.7.90+20060906-3ubuntu1 for details.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* -*-C-*-
2
2
 
3
 
$Id: prosio.c,v 1.27 2007/01/12 03:45:55 cph Exp $
 
3
$Id: prosio.c,v 1.30 2008/01/30 20:02:19 cph Exp $
4
4
 
5
5
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
6
6
    1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
7
 
    2006, 2007 Massachusetts Institute of Technology
 
7
    2006, 2007, 2008 Massachusetts Institute of Technology
8
8
 
9
9
This file is part of MIT/GNU Scheme.
10
10
 
36
36
#endif
37
37
 
38
38
Tchannel
39
 
DEFUN (arg_to_channel, (argument, arg_number),
40
 
       SCHEME_OBJECT argument AND
41
 
       int arg_number)
 
39
arg_to_channel (SCHEME_OBJECT argument, int arg_number)
42
40
{
43
 
  if (! ((INTEGER_P (argument)) && (integer_to_ulong_p (argument))))
 
41
  unsigned long channel = (arg_ulong_integer (arg_number));
 
42
  if (! (channel < OS_channel_table_size))
44
43
    error_wrong_type_arg (arg_number);
45
 
  {
46
 
    unsigned long channel = (integer_to_ulong (argument));
47
 
    if (! (channel < OS_channel_table_size))
48
 
      error_wrong_type_arg (arg_number);
49
 
    return (channel);
50
 
  }
 
44
  return (channel);
51
45
}
52
46
 
53
47
Tchannel
54
 
DEFUN (arg_channel, (arg_number), int arg_number)
 
48
arg_channel (int arg_number)
55
49
{
56
50
  Tchannel channel = (arg_to_channel ((ARG_REF (arg_number)), arg_number));
57
51
  if (!OS_channel_open_p (channel))
64
58
{
65
59
  PRIMITIVE_HEADER (1);
66
60
  {
67
 
    fast Tchannel channel = (arg_to_channel ((ARG_REF (1)), 1));
 
61
    Tchannel channel = (arg_to_channel ((ARG_REF (1)), 1));
68
62
    if (OS_channel_open_p (channel))
69
63
      {
70
64
        CLOSE_CHANNEL_HOOK (channel);
158
152
  PRIMITIVE_HEADER (4);
159
153
  {
160
154
    unsigned long length;
161
 
    char * buffer = (arg_extended_string (2, (&length)));
 
155
    unsigned char * buffer = (arg_extended_string (2, (&length)));
162
156
    unsigned long end = (arg_ulong_index_integer (4, (length + 1)));
163
157
    unsigned long start = (arg_ulong_index_integer (3, (end + 1)));
164
158
    long nread =
176
170
  PRIMITIVE_HEADER (4);
177
171
  {
178
172
    unsigned long length;
179
 
    CONST char * buffer = (arg_extended_string (2, (&length)));
 
173
    const unsigned char * buffer = (arg_extended_string (2, (&length)));
180
174
    unsigned long end = (arg_ulong_index_integer (4, (length + 1)));
181
175
    unsigned long start = (arg_ulong_index_integer (3, (end + 1)));
182
176
    long nwritten =
237
231
/* Select registry */
238
232
 
239
233
static select_registry_t
240
 
DEFUN (arg_select_registry, (arg_number), int arg_number)
 
234
arg_select_registry (int arg_number)
241
235
{
242
236
  return ((select_registry_t) (arg_ulong_integer (arg_number)));
243
237
}
244
238
 
245
239
static unsigned int
246
 
DEFUN (arg_sr_mode, (arg_number), int arg_number)
 
240
arg_sr_mode (int arg_number)
247
241
{
248
242
  unsigned long n = (arg_ulong_integer (arg_number));
249
243
  if (! ((n >= 1) && (n <= 3)))