HDTenEightyP/NetNews huggingface dataset:
From: david@xlnt.com (David Johnson)
Newsgroups: comp.lang.c
Subject: Re: string representation
Date: 14 Apr 92 21:25:34 GMT
Organization: XLNT Designs, Inc (XDI)

In article <1992Apr13.024026.24553@ima.isc.com>, karl@ima.isc.com (Karl Heuer) writes:
|> In article <BEAR.92Apr9175715@godzilla.harlqn.co.uk> bear@harlqn.co.uk (Andy Edwards) writes:
|> >[C-style strings should be scrapped because operations like strlen()
|> >are O(N), but would be O(1) if you used a counted string.]
|> 
|> Use whatever model best suits your need.  In most of my applications,
|> maintaining the length information would be unnecessary overhead.

In my applications, keeping length info is also undesirable.  I rarely
use strlen().  Even so, in C you may define your own method of dealing with
strings and define your own string function library if you do not like the
basic convention.  Strings are not really a part of C anyway.  The topic of
strings and the string libraries seems to cause people who have started with
Pascal or other languages a lot of grief.  They do not seem to understand that
library routines like strlen() are just that, library routines, not part of
the language.  One of the virtues of C is that if you think a library function
is inefficient or whatever, you can write your own and link it in.


-- 
David Johnson
XLNT Designs, Inc. (XDI)
david@xlnt.com
the hapa haole
(or more precisely the hakka haole)
(or even more precisely, the hapa hakka hapa haole, or h^4)
From: cyberman@toz.buffalo.ny.us (Cyberman)
Newsgroups: comp.lang.c
Subject: Graphics.h
Date: 11 Apr 92 02:31:12 GMT
X-Maildoor: WaflineMail 1.00r

ML>with similar failure.  Do I need a custom *.BGI driver in order to
ML>utilize mode 13h?  There are no Borland drivers on the VGA driver

1:  You need a custome driver
2:  Borland supplies one with it's BGIKIT and it's Public domain.

        STEPHEN CYBERMAN@TOZ.BUFFALO.NY.US
        commiserated at Fri  04-10-1992  17:38:30
---
 * SLMR 2.1a * The next guy who drops carrier will be shot!
From: hg8@unix.brighton.ac.uk (gringhuis)
Newsgroups: comp.lang.c
Subject: msdos printerspooler
Date: 13 Apr 92 12:20:54 GMT
Organization: Brighton Polytechnic, UK

Hello,

i want to write a printerspooler in C under msdos. I want to
chain the printroutine with the keyboard-interrupt, because then
you get 50 interrupts per second instead of 18,2 when you use the timer.
The problem which arises is that i have to read from a file (with the text to
print in it) in an interrupt. Because DOS functions are not reentrant i 
cannot use DOS of BIOS routines to read if DOS itself is already reading.

How do i solve this???


Please E-mail me, my E-mail address is :  hg8@uk.ac.brighton.unix

Thanks
	Hans Gringhuis
From: hjv@phil.ruu.nl (Hendrik Jan Veenstra)
Newsgroups: comp.lang.c
Subject: Re: using #define
Date: 14 Apr 92 10:29:23 GMT
Organization: Department of Philosophy, University of Utrecht, The Netherlands

barmar@think.com (Barry Margolin) writes:

>In article <1992Apr13.212232.2709@acsu.buffalo.edu> v101q4ct@ubvmsb.cc.buffalo.edu (Brendon M McNamara) writes:
>>How can I do this:
>>
>>#define FILE(n)   "FILE.F"(somehow stick n in here)

>Try:
>#define FILEN(n) "FILE.F" #n

Why not:
    for(i=0; i<10; i++)
       printf("%s%d\n", "FILE.F", i);
? Don't need the #define... Or if you insist on #define-ing, define a constant
"FILE.F" and put that in the printf-call.




























--
Hendrik Jan Veenstra - Department of Philosophy
University of Utrecht - The Netherlands
USENET: hjv@phil.ruu.nl   * don't worry about life; it's not permanent *
Newsgroups: comp.lang.c
From: tim@monolith.amd.com (Tim Olson)
Subject: Re: passing structure to a function
Organization: Advanced Micro Devices, Inc.; Austin, Texas
Date: Fri, 10 Apr 92 14:18:14 GMT

In article <1992Apr9.133454.27826@crd.ge.com> volpe@bart.crd.ge.com  
(Christopher R Volpe) writes:
| In article <ku66poINN5kp@early-bird.think.com>, barmar@think.com (Barry
| Margolin) writes:
| |>I believe ANSI C requires that structures be passed by value, and I also
| |>think that most pre-ANSI C compiler that support structure passing also do
| |>so. 
| 
| C, whether it be ANSI or pre-ANSI, has always required that all parameters,
| structures or otherwise, be passed by value.

However, C originally did not allow structures to be passed as
parameters (nor structure assignment), so you had to pass the
address of a structure and explicitly copy it.  Thus, you can think of
early C compilers as only allowing "call by reference" structures.

--
	Tim Olson
	Advanced Micro Devices
	tim@amd.com
From: jfw@ksr.com (John F. Woods)
Newsgroups: comp.lang.c
Subject: Re: 64 bit pointers?
Date: 10 Apr 92 11:35:19 EDT

mynzy@world.std.com (Peter H Jurgensen) writes:
>32 bit pointers have been normal for a long time (except for old PCs).
>Now that the R4000 is out, the Alpha is comming, Cray is making a PC ;-), etc.
>what are the implications for pointer sizes? I have hand tuned structures
>containing pointers to use strict alignment without wasted space,

The implication is that you have wasted your time.  Couldn't it have been
put to better use?  Do you really want to invest time in re-aligning everything
for 64-bit objects, only to finish up just as 128-bit computers come out?

>How does one write portable code that is efficient relative to pointer size?

The answer is that you worry about what is important.  If you are programming
a microcontroller with a 1K EPROM and 256 bytes of SRAM, you worry a lot about
wasted space.  If you are programming a machine with a gigabyte of physical
RAM, you worry about whether or not you have finished solving the problem that
got you started writing the code in the first place.  You cannot, by
definition, write portable code that takes the minimum possible space on all
past, present, and future architectures.  You can, however, write portable
C code that solves problems on all (C-supporting) past, present, and future
architectures.
From: bodo@clipper.ingr.com (Bodo Parady)
Newsgroups: comp.lang.c
Subject: Register declaration
Keywords: ambiguity,register,declarations
Date: 6 Apr 92 17:21:35 GMT
Organization: Intergraph Advanced Processor Division - Palo Alto, CA


A question has arisen regarding the use of the register declaration. 
Two interpretations of the following statement are possible:

	register float *x;

Is this symbolically equivalent to:

        register float *x;     is the same as:     (register float)*x

Or:

        register float *x      is the same as:     (float)*(register x)


Another example could be offered:

	volatile int *x;

Is this symbolically equivalent to:

        volatile int *x;     is the same as:     (volatile int)*x

Or:

        volatile int *x      is the same as:     (volatile)*(int x)


The context of the "register" dilemma is the following code fragement: 

>     register float *x, *y, *z, *end_z;
>     for (; z <= end_z; ) {
>       *x += (*z++) * (*y++);
>       *x += (*z++) * (*y++);
>       *x += (*z++) * (*y++);
>       *x += (*z++) * (*y++);
>       }
>     *x = *x + 1.0;

The problem for any optimizer is that the addressess (x, y, z, send_z)
can be ambiguous (for example z could equal x, etc).  Does "register" 
signify that the addresses x,y,z, and send_z are disambiguated?

Fortran solves the problem by stating that arrays are disambiguated:

	dimension x, y(n), z(n)
	real x, endz
	do 1000 ii = 1, n, 4
		if (z(ii) .gt. endz) go to 1001
		do 1000 i = ii, ii+3
			x = x + z(i) * y(i)
1000	continue
1001	x = x + 1.0

It may not be pretty, but the optimizer will defer stores on x since the
standard says that if x has has the same address as endz, y(i), or z(i),
the results are not guaranted.

Bodo Parady            | (415) 494-8800 x475          FAX:  (415) 856-9224
Intergraph Corporation | EMAIL:bodo@clipper.ingr.com  uunet!ingr!clipper!bodo
2400 Geng Road         | UUCP: uunet!{pyramid,sri-unix,apple}!clipper!bodo
Palo Alto,CA 94303-3317| Internet:                    na.parady@na-net.ornl.gov




-- 
 Bodo Parady            | (415) 494-8800 x475         FAX:  (415) 856-9224
 Intergraph Corporation | EMAIL:bodo@clipper.ingr.com uunet!ingr!clipper!bodo
 2400 Geng Road         | UUCP: uunet!{pyramid,sri-unix,apple}!clipper!bodo
 Palo Alto,CA 94303-3317| Internet:                   na.parady@na-net.ornl.gov
From: wirzeniu@klaava.Helsinki.FI (Lars Wirzenius)
Newsgroups: comp.lang.c
Subject: Re: Binary mode stdin
Date: 6 Apr 92 18:43:01 GMT
Organization: University of Helsinki

rbe@yrloc.ipsa.reuter.COM (Robert Bernecky) writes:
>I am trying to read stdin as a binary, rather than text, file. 
>
>My attempts (Borland Turbo C++) have not worked: freopen, and 
>fclose/fopen produce a NULL. 

The problem with freopen is that it needs a filename which it opens, and
there needn't be any for stdin.  Even when there is, it is not
necessarily possible to get it.

>Is there a way to do this? Is there a way to do this portably? 

As far as I know, no, if you insist on using stdin.  (If you can use
temporary files instead of redirection the problem suddenly becomes
trivial. :-)  If you can control all programs in the pipelines you want,
perhaps you could rewrite them so that they use text instead of binary
data?

>Ideally, the result would be ANSI or K&R compatible, so that it'll
>work on my (ecch!) ISC Unix system as well.

Under Unix, there is no problem: text mode and binary mode are
equivalent; in fact, they might not even exist as distinct modes, some
libraries will puke on ``fopen("...", "rb")'' (most will ignore it, I
think).

--
Lars.Wirzenius@helsinki.fi
Newsgroups: comp.lang.c
From: mcook@mrc.dev.cdx.mot.com (Michael Cook)
Subject: Re: Returning the highest bit set in a long
Organization: Motorola Codex, Canton, Massachusetts
Date: Wed, 8 Apr 1992 23:48:36 GMT

gor@cs.strath.ac.uk (Gordon Russell) writes:

>   I am hoping that someone out there has an algorithm for calculating
>the highest bit set within a long, in terms of its bit position.
>Naturally, there are two obvious solutions; ie
>  (1) A loop to physically examine each bit in turn.
>  (2) A look-up table.

>Both of these solutions are far from satisfactory, since speed is essential
>(and efficient memory usage desirable). Please help

How about a hybrid?  Examine the 32-bit value as four 8-bit values,
looking-up each 8-bit value in a 256-element array.
-- 
 ==========================================================
 Michael.Cook@merlin.dev.cdx.mot.com          (617)821-7590
 Motorola/Codex, 20 Cabot Blvd, C2-135, Mansfield, MA 02048
 ==========================================================
Xref: sparky comp.lang.c:7499 comp.std.c:1792 comp.arch:4942
From: jap@convex.cl.msu.edu (Joe Porkka)
Newsgroups: comp.lang.c,comp.std.c,comp.arch
Subject: Re: "long long" for 64 bits
Date: 12 Apr 92 05:03:47 GMT
Organization: Michigan State University

shap@xanadu.com (Jonathan Shapiro) writes:

>In article <ktf7loINNq8a@spim.mips.com> mash@mips.com (John Mashey) writes:
>>In article <1992Mar30.145144.4717@webo.dg.com> lewine@cheshirecat.webo.dg.com writes:
>>
>All of these problems are ugly.  Finding some is easier to automate than
>others.  Any way you do it you break a lot of existing code, which is
>terribly expensive.

>I don't know where HaL ended up.  I don't know what I think the right
>answer here is.  I do know that all of the answers are prohibitively
>expensive.  You only get to choose which prohibitively expensive answer you
>intend to implement.

>Jonathan Shapiro
>Independent Consultant

The most obvious solution would be to simply make it a compiler
switch. That is, unless the strict ANSI switch is on, "long long" would
get you a 64bit int. The only other decision left to make then is the
sizeof(long), sizeof(int) and sizeof(short). If no switchs (default), then
long == 64bit, int==32bit, short==16bit
1 switch makes int==long==64, and another makes short==32.

This makes the compiler uglier but does not force any one
design decision onto *everything*. If a given chunk of code insists
on having sizeof(int)==sizeof(long) it would be simpler to change
the makefiles then to change the program. On the other hand
much existing code would be perfectly happy with sizeof(int)!=sizeof(long)
and could be compiled that way.
Newsgroups: comp.lang.c,comp.lang.fortran
From: burton@asdsun.larc.nasa.gov (John Burton)
Subject: Re: FORTRAN to C translator
Followup-To: comp.lang.c, comp.lang.fortran
Organization: NASA Langley Research Center, Hampton, VA  USA
Date: Fri, 10 Apr 1992 12:15:32 GMT

In article <1992Apr10.015209.7196@porthos.cc.bellcore.com> bm@nvuxr.uucp (B. Manseur, (908) 758-2505) writes:
>
>Hello everyone:
>
>Does anybody know if there is a program (FORTRAN or C)
>that can translate FORTRAN code into C code.  
>Any information would be appreciated.
>Thanks.
>
>B. Manseur (bm@nvuxr.cc.bellcore.com)

f2c is just what you're looking for...available via
anonymous ftp at various sites including research.att.com

John
From: N.J.Watts@bradford.ac.uk (NJ WATTS)
Newsgroups: comp.lang.c
Subject: Printer on line?
Date: 14 Apr 92 14:57:49 GMT
Organization: University of Bradford, UK
Originator: 88621168@ccw103


Dear all,
	Is it possible to determine whether or not a printer on the stdprn 
stream is on-line or not before sending any information to it?  I cannot 
get around the problem that the operating system cuts in whenever the printer 
is off-line and leaves an unsightly message in the middle of my applications.

		Any thoughts greatly appreciated...

					Nick.
Xref: sparky comp.lang.c:7668 news.answers:1061
From: volpe@bart.crd.ge.com (Christopher R Volpe)
Newsgroups: comp.lang.c
Subject: Re: float rounding code
Date: 8 Apr 92 13:20:25 GMT
Reply-To: volpe@bart.crd.ge.com (Christopher R Volpe)
Organization: GE Corporate R&D Center

In article <1992Apr7.112951.29327@email.tuwien.ac.at>,
hp@vmars.tuwien.ac.at (Peter Holzer) writes:
|>Some time ago somebody wrote:
|>
|>>|>> dvar = (float)(long)(dvar * 10000) / 10000;
|>
|>and volpe@bart.crd.ge.com (Christopher R Volpe) replied:
|>
|>>Right idea, but needs some more parens:
|>
|>>dvar = ((float)((long)(dvar * 10000))) / 10000;
|>
|>A cast has higher precedence than /, so the two expressions are
|>equivalent.

Oops! (And I even have my operator-precedence table taped up on the
wall in front of me!) Thanks for pointing it out.
                  
==================
Chris Volpe
G.E. Corporate R&D
volpecr@crd.ge.com
Newsgroups: comp.lang.c
From: garland@maccs.dcss.mcmaster.ca (Bill Garland)
Subject: Re: HELP Menus with Mice on PC with Microsoft C
Keywords: HELP, Menus, Microsoft, C, Mouse, Mice, PC
Organization: Department of Computer Science, McMaster University
Date: Mon, 6 Apr 1992 14:19:15 GMT

In article <storrs.702540452@milton> storrs@milton.u.washington.edu (Storrs Albertson) writes:
>I'm new to C programming and wondered if someone would be
>kind enough to mail me some sample code which shows how
>to code a typical MENU (for any application) with Mouse
>control (i.e. in addition to using keys to choose Menu
>options).  I'm working on a PC with the Microsoft compiler
>if it makes a difference.
>
>Alternately, perhaps someone knows of such a code on a
>board that I could download.
>
Someone has borrowed my book so I can't give you the exact reference, however,
the is a neat book called Microsoft Quick C Toolbox (or toolkit).  It is 
fairly common so check out the university bookstore, etc.  It has the code for
a menu driven system that uses mouse or keyboard.
>
>Thanks in advance,
>
>alberts@apl-em.apl.washington.edu
>


-- 
Bill Garland                                           garlandw@mcmaster.ca
McMaster University                                    EngPhys Chairman
Xref: sparky comp.lang.c:7514 comp.std.c:1796 comp.arch:4955
From: karl@ima.isc.com (Karl Heuer)
Newsgroups: comp.lang.c,comp.std.c,comp.arch
Subject: string representation (was: SPAM SPAM SPAM SPAM)
Date: 13 Apr 92 02:40:26 GMT
Article-I.D.: ima.1992Apr13.024026.24553
Followup-To: comp.lang.c
Organization: Interactive Systems, Cambridge, MA 02138-5302

In article <BEAR.92Apr9175715@godzilla.harlqn.co.uk> bear@harlqn.co.uk (Andy Edwards) writes:
>[C-style strings should be scrapped because operations like strlen()
>are O(N), but would be O(1) if you used a counted string.]

Use whatever model best suits your need.  In most of my applications,
maintaining the length information would be unnecessary overhead.

Karl W. Z. Heuer (karl@ima.isc.com or uunet!ima!karl), The Walking Lint
Followups to comp.lang.c only.
Organization: Ryerson Polytechnical Institute
Distribution: na
Date: Friday, 10 Apr 1992 00:04:01 EST
From: <ACPS7081@RyeVm.Ryerson.Ca>
Newsgroups: comp.lang.c
Subject: a reading from keyboard

Hi
I would like to know how can I read from keyboard without using
return key.


                                            Thanks for your help!
From: hp@vmars.tuwien.ac.at (Peter Holzer)
Subject: Re: float rounding code
Organization: Technical University Vienna, Dept. for Realtime Systems, AUSTRIA
Date: Tue, 7 Apr 1992 11:29:51 GMT

Some time ago somebody wrote:

>|>> dvar = (float)(long)(dvar * 10000) / 10000;

and volpe@bart.crd.ge.com (Christopher R Volpe) replied:

>Right idea, but needs some more parens:

>dvar = ((float)((long)(dvar * 10000))) / 10000;

A cast has higher precedence than /, so the two expressions are
equivalent.

-- 
|    _  | Peter J. Holzer                       | Think of it   |
| |_|_) | Technical University Vienna           | as evolution  |
| | |   | Dept. for Real-Time Systems           | in action!    |
| __/   | hp@vmars.tuwien.ac.at                 |     Tony Rand |
From: n9046319@rowlf.cc.wwu.edu (Jeremy Corley)
Newsgroups: comp.lang.c
Subject: Re: passing structure to a function
Date: 15 Apr 92 21:49:01 GMT
Article-I.D.: rowlf.n9046319.703374541
Organization: Western Washington University

mcook@mrc.dev.cdx.mot.com (Michael Cook) writes:

>volpe@bart.crd.ge.com (Christopher R Volpe) writes:

>>In article <mcook.702843388@mrc.dev.cdx.mot.com>,
>>mcook@mrc.dev.cdx.mot.com (Michael Cook) writes:
>>|>volpe@bart.crd.ge.com (Christopher R Volpe) writes:
>>|>
>>|>>C, whether it be ANSI or pre-ANSI, has always required that all parameters,
>>|>>structures or otherwise, be passed by value.
>>|>
>>|>Except arrays.  They're passed by reference.

>>Wrong. Arrays aren't passed at all. Pointers are passed. And they're passed
>>by value.

>What's the difference between call-by-reference and passing a pointer?
>-- 
> ==========================================================
> Michael.Cook@merlin.dev.cdx.mot.com          (617)821-7590
> Motorola/Codex, 20 Cabot Blvd, C2-135, Mansfield, MA 02048
> ==========================================================

	The difference is that call-by-reference does _not_ mean passing a
pointer.  That is just the implementation that most compilers that have
call-by-reference use (obviously because it is the easiest implementation).

	Call-by-reference only means that if the parameter is changed so
will the variable that it was called with.  Passing a pointer is passing
a pointer.  They usually have the same _effect_, but they are not the
same thing.

	No flames please.

--------------------------------------------------------------------
"Senator Kennedy, What are you going to do about the abortion bill?"
"Pay it, I guess."
				J. Corley
			n9046319@henson.cc.wwu.edu
From: torek@horse.ee.lbl.gov (Chris Torek)
Newsgroups: comp.lang.c
Subject: Re: char *fgetline(FILE*);
Date: 6 Apr 92 21:27:58 GMT
Article-I.D.: dog.22531
Reply-To: torek@horse.ee.lbl.gov (Chris Torek)
Organization: Lawrence Berkeley Laboratory, Berkeley
NNTP-Posting-Host: 128.3.112.15

In <22347@dog.ee.lbl.gov> I wrote that, in the net.2 stdio, after
>>	p = fgetline(fp, &len);
>>... the following will hold:
>>	len == (p != NULL ? strlen(p) : 0)

In article <2APR199214224007@perv.pe.utexas.edu> pefv700@perv.pe.utexas.edu
(Chris Phillips) writes:
>So fgetline doesn't give you the whole line (up to a newline) if that
>line contains a \0?  Otherwise the above would not hold.

Well, I lied.  If the line contains an embedded '\0' character, you
will have `len > strlen(p)'.  Thus, unlike fgets, you can read embedded
NULs using fgetline.  However, fgetline will not tell you if the final
line of an input stream was newline-terminated.

>[the SunOS man page seems contradictory as to whether fgets stops at NUL]

The original BSD fgets did not stop at NULs, so that a stream containing
the input line

	abc\0\0\n

would fill in a suitable buffer with "abc\0\0\n\0".  I cannot speak for
current SunOS internals, although if they are derived from a V7ish
stdio they are likely to behave the same way.
-- 
In-Real-Life: Chris Torek, Lawrence Berkeley Lab CSE/EE (+1 510 486 5427)
Berkeley, CA		Domain:	torek@ee.lbl.gov
Newsgroups: comp.lang.c,comp.unix.misc,comp.unix.programmer,comp.benchmarks
From: ckd@eff.org (Christopher Davis)
Subject: Re: Buffered file reads, and speeds of C prog vs. wc vs. awk vs. perl
Organization: Electronic Frontier Foundation Tech Central
Date: Wed, 1 Apr 1992 17:47:37 GMT

I would ignore the perl numbers in this thread because they're based on
a2p-written code, not actual perl code.

Try this instead:

perl -e 'while(<>) {}; print "$.\n";'

Or would you test C with code written in FORTRAN and run through f2c?

(An unscientific test on a SPARC ELC, SunOS 4.1.2, perl 4.0.19:
> time perl -e 'while(<>) {}; print "$.\n";' < /etc/termcap > /dev/null
0.150u 0.370s 0:00.48 108.3% 0+238k 0+0io 0pf+0w
> time awk 'END {print NR}' < /etc/termcap > /dev/null
0.200u 0.070s 0:00.27 100.0% 0+122k 3+0io 2pf+0w
)
--
Christopher Davis <ckd@eff.org> |    ECONOMIC OBSERVATIONS DEPARTMENT
System Manager & Postmaster     |  "There's always something going out of
Electronic Frontier Foundation  |      business in Central Square."
+1 617 864 0665  NIC: [CKD1]    |   -Rita Marie Rouvalis <rita@eff.org>
Newsgroups: comp.lang.c
From: kbw@po.CWRU.Edu (Kevin B. Williams)
Subject: passing structures to functions
Reply-To: kbw@po.CWRU.Edu (Kevin B. Williams)
Organization: Case Western Reserve University, Cleveland, OH (USA)
Date: Wed, 15 Apr 92 05:22:06 GMT


I have a problem.  I'm new to C.  How do you pass a structure such as an
array of records to a function.  Could you email me an answer....
I'd appreciate it.

	Kevdog
From: dockhorn@hpwad.WAD.HP.COM (#Patrick Dockhorn)
Newsgroups: comp.lang.c
Subject: another ANSI prototype problem
Date: 16 Apr 92 14:23:38 GMT
Organization: Hewlett-Packard Waldbronn, Germany

I have a problem in understanding the behaviour of
gcc compiling for ANSI C.
A function prototype is given as

static int  chk_pat(unsigned char *,int,int,char,int);

and the function head looks like that:

static int chk_pat(txt,i,j,last,count)
unsigned char *txt;
int i;
int j;
char last;
int count;
{
 ...
}

Now, compiling with

gcc -ansi -Wall -c match.c -o match.o

results in 

match.c: In function chk_pat:
match.c:184: argument `last' doesn't match function prototype
match.c:184: a formal parameter type that promotes to `int'
match.c:184: can match only `int' in the prototype

In my understanding the right way to declare the function
using ANSI C would be with type AND name in the prototype
and header. But nevertheless I have no idea where the error
message comes from.

any suggestions welcome,    

	Patsch

P.S. If I remove the prototype, I get no errors !

----------------------------------------------------------------------------
       "We are sorry, but the number you have dialed is imaginary."
           "Please rotate your phone 90 degrees and try again."
----------------------------------------------------------------------------
From: d-lewart@uiuc.edu (Daniel S. Lewart)
Newsgroups: comp.lang.c
Subject: Borland Turbo C for Windows 3rd Edition bug list?
Date: 10 Apr 92 17:33:36 GMT
Reply-To: d-lewart@uiuc.edu (Daniel S. Lewart)
Organization: University of Illinois at Urbana
Originator: dslg0849@uxa.cso.uiuc.edu

Are there any problems with Borland Turbo C for Windows 3rd Edition?
I'm considering buying it, but I don't want to be hassled with bugs.
I read the PC-Mag article which loved it, but didn't mention any problems,
which is a problem because ALL COMPILERS have problems.

Daniel Lewart
d-lewart@uiuc.edu
Newsgroups: comp.lang.c