HDTenEightyP/NetNews huggingface dataset:
From: tye@spillman.uucp (E. Tye McQueen)
Subject: Re: longjumping out of a signal handler
Date: Tue, 29 Dec 1992 09:07:51 GMT
Organization: Spillman Data Systems

dat@thinkage.on.ca (David Adrien Tanguay) writes:
)ANSI 4.7.1.1
)   If the signal occurs other than as a result of calling the abort or
)   raise function, the behaviour is undefined if the signal handler calls
)   any function in the standard library other than the signal function
)   itself (with a first argument of the signal number corresponding to
)   the signal that caused the invocation of the handler) or refers to
)   any object with static storage duration other than by assigning a
)   value to a static storage durection variable of type volatile
)   sig_atomic_t.
)
)You cannot portably call longjmp from a signal handler (modulo abort/raise).

Thanks for all the good input on this.

I'd note that "portably" above refers to an ANSI C environment,
obviously.  Especially since most pre-ANSI C implementations don't
even have the raise() function nor sig_atomic_t type.  longjmp()ing
out of a signal handler can be ported across several flavors of
Unix, though such systems usually support more portable techniques.

My last (I hope) question is:  If you find yourself working on a system
where system calls or library functions, like read() or fread(), are
"restarted" for you after being interrupted by a caught signal, how do
you cause the system call or library function to fail (exit) so you
can go on to something else?  (I don't believe I have access to such
a system so I can't RTFM.)  I know I can use select() or similar
functions, if available, but in my porting environment that is much
less portable than longjmp()ing out.

Well, I do have one more thing I'm curious about.  I assume the
ANSI committee left the behavior of longjmp()ing out of a signal
handler undefined because it was felt that some systems would
find it very hard to support such actions.  Was this mostly for
non-Unix systems or is there some particularly hard task involved
in "fixing" some Unix system(s) to support it?  Or was it more that
the same purposes could be served via the sig_atomic_t stuff with
very little work for existing systems to support it?

Thanks again,
 tye@spillman.com                         Tye McQueen, E.
----------------------------------------------------------
 Nothing is obvious unless you are overlooking something. 
----------------------------------------------------------
Newsgroups: comp.lang.c
From: dkeisen@leland.Stanford.EDU (Dave Eisen)
Subject: Re: Parameter passing & data abstraction
Organization: Sequoia Peripherals, Inc.
Date: Sun, 3 Jan 93 01:50:14 GMT

In article <1992Dec31.084904@gese.ge14.mdadv.gv.at> sca@gese.ge14.mdadv.gv.at (Petzi Schweda) writes:
>Furthermore highly encapsulate thy data, not exporting any structures:
>	#ifdef MODULE_PRIVATE
>	typedef struct ModuleDataRec
>		{....
>		} ModuleDataRec, *ModulData;
>        #define SetMember(d, v) (*d).member = v; 
>	#else
>	typedef void *ModulData;
>	void SetMember(ModulData d, int v);
>	#endif;

I'm as big a fan of information hiding as anyone, but I object
to your using (void *) to represent objects of a certain type.
You lose all of the type checking that prototyping gives you
for no gain.

The public interface should be quite aware that ModulData is
a pointer to a struct ModuleDataRec. It should have no idea
what any of the fields in such a struct look like, but there
is no need to tell it.

Something like:

	typedef struct ModuleDataRec ModuleDataRec, *ModulData;
	void SetMember(ModulData d, int v);

	#ifdef MODULE_PRIVATE
	struct ModuleDataRec
		{....
		} ModuleDataRec, *ModulData;
        #define SetMember(d, v) (*d).member = v; 
	#endif;


-- 
Dave Eisen                               Sequoia Peripherals: (415) 967-5644
dkeisen@leland.Stanford.EDU              Home:                (415) 321-5154
       There's something in my library to offend everybody. 
          --- Washington Coalition Against Censorship
Newsgroups: comp.lang.c
From: isae@iastate.edu (Gadjah Mada)
Subject: Re: Pascal as road to C (was Re: Newbie Wants Advice on C-Programming)
Organization: Iowa State University, Ames IA
Date: Tue, 29 Dec 1992 02:42:29 GMT

In <MITCH.92Dec28105734@pollux.clsi> mitch@clsi.COM (Mitchell N. Perilstein) writes:

>Pascal is awful as a first language.  In my experience teaching it to
>freshmen pure and applied science students, they spend a huge precentage
>of their time worrying about, memorizing, and getting pinched by TA's
>for SYNTAX.  They're supposed to be getting concepts like stepwise
>refinement, algorithms, variables, etc...

I am no expert programmer, but at least I know Pascal and C.
I learnt Pascal prior to C due to my (old) curriculum here at ISU.
But I really wish I had the new curriculum now.

>I feel MIT is doing the right thing by teaching freshmen a functional
>language with very little syntax: scheme. Here is all the syntax you
>need to get started. Everything is either

So is ISU, I guess, since the new curriculum too has scheme as the first
language to teach the freshmen. I feel like starting over as a freshman. :)

My point is I agree with Mitchell although I am not an expert in any
language YET. :-) I am just learning as many languages as I can, but I
have 3 words for you..  I LOVE C.


>---
> Mitchell N. Perilstein   CAD Language Systems, Inc.   410-992-5700 x225 
> Member, League for Programming Freedom.  Mail lpf@uunet.uu.net for info.

-Rony
 isae@IASTATE.EDU
Newsgroups: comp.lang.c
From: dennis@cadkey.com (Dennis Paul Himes)
Subject: Re: finding prime numebrs
Organization: cadkey
Distribution: wold
Date: Tue, 22 Dec 1992 18:57:27 GMT

In article <RDORICH.92Dec21234629@jade.tufts.edu> rdorich@jade.tufts.edu (Rob)
writes (commenting on his own post): 
>>
>>	For any prime number, if we represent it in base 3, and then
>>get the addition of all the digits, I claim that:
>>
>>	1.-	If the sum is even, then it is not a prime.

     This is of course not true.  2 is a prime and 2 in written in base 3
as _2_.  More to the point, even if you add an exception for 2 this does not
tell you as much as it appears to, since the numbers for which the addition
of base 3 digits is even are just the even numbers.  In fact, for any m and n,
if m is a divisor of (n-1) then the numbers which are divisible by m are
exactly those numbers whose digits base n add up to a multiple of m.

>>
>>	2.- 	If it is odd:
>>			It is either prime.	
>>			or a multiple of another lower prime.
>			^^^^^
>			Oops, I meant the multiplicand of 2 other
>prime numbers.

	The word _multiplicand_ does not make sense in this context.  Perhaps
you mean _product_.  If so, you are wrong.  Consider 105 == 3 * 5 * 7 ==
10220 (base 3).
>
>Rob
>

==============================================================================

               Dennis Paul Himes    <>    dennis@cadkey.com
 
"In watermelon sugar the deeds were done and done again as my life is done
in watermelon sugar."           - Richard Brautigan
From: surendra@plsparc.UUCP (Surendra Goel)
Newsgroups: comp.lang.c
Subject: Re: Directory search function needed
Date: 30 Dec 92 17:29:27 GMT
Organization: Personal Library Software, Inc.

MS-C has a function to serach the files with wildcard and other pattern in
the file specification. Look for _dos_findfirst and _dos_findnext functions
in the reference manual. The function names may be different under Borland.
I think they are just _findfirst and _findnext?

Good luck.

-- 
Surendra Goel (surendra@pls.com)
Personal Library Software, Inc.  2400 Research Blvd. Suite 350, Rockville, MD 20850   Phone: (301)926-1402 
Newsgroups: comp.lang.c
From: dirsolns@world.std.com (Bernard Farrell)
Subject: Re: A good book on C ?
Organization: Directed Solutions Group
X-Newsreader: Tin 1.1 PL3
Date: Wed, 30 Dec 1992 13:16:58 GMT

wjb@cscsun2.larc.nasa.gov (William J. Bene) writes:
: Other than K&R, are there any other C reference manuals that anyone cares to 
: recommend?
: 
Personally, as a reference book, I always recommend the following over
K&R in my classes.

  C: A Reference Manual
  Samuel P. Harbison & Guy L. Steele
  Prentice-Hall
  ISBN 0-13-110941-3

It's a REAL reference manual, and it gives advice on those areas which
are no clearly defined and tend to differ between implementations.

Of course, there's also the ANSI C standard.  8-)
(I smile, cause it's TOUGH to read !)


-- 
|----------------------------------------------------------|
|      Bernard Farrell      |   Directed Solutions Group   |
|----------------------------------------------------------|
|   dirsolns@world.std.com  |       (617) 429-2306         |
From: tmc@spartan.ac.BrockU.CA (Tim Ciceran)
Subject: Hash Coding Revisited
Organization: Brock University, St. Catharines Ontario
Date: Wed, 23 Dec 1992 04:58:23 GMT

I'm in need of a hashing algorithm to be used with strings of
alphanumeric characters. Does anyone happen to know if a function
has been developed which has a very low probability of generating
a collision when given a sizable number of records and a significant
amount of address space? The total number of records will likely
exceed 100k entries of ~5 bytes/record (the index is existential,
so storage is not a great concern).

Also, because collisions will be inevitable to some degree, would
it be more efficient to use an additional secondary key to resolve this
situation or simply adopt a double hashing or chaining strategy?

Any references or insights would be greatly appreciated.

Cheers,

TMC
From: steve@Celeborn.lvunix.com (Steve Slade)
Subject: Re: FP formats not linked
Newsgroups: comp.lang.c
X-Newsreader: TIN [version 1.1 PL8]
Date: 31 Dec 92 00:25:08 PST
Organization: Not even Close

Rich Bauer (root@cpp.uucp) wrote:
: When scanf goes to get the first batting average in this program,
: the program terminates abnormally with the error message:
: "floating point formats not linked"

: What does this mean?  I can't find it in the manuals, and the code
: is correct as far as I can tell.  What's the problem?

: 	double b_avg[9];
: 	  scanf("%lf", &b_avg[i]);
Well I'm still learning C my self but I think you have to define b_avg[9]
like this
long double b_avg[9];

because scanf is looking for a long double and you declared it has only a 
double.
Newsgroups: comp.lang.c
From: ctaylor@cs.uiuc.edu (Conrad Taylor)
Subject: What's wrong with this code...???
Organization: University of Illinois at Urbana-Champaign
Date: Wed, 23 Dec 1992 20:55:45 GMT


    Question: why would the 'free(p)' in 'main' cause this program to go
into an infinite loop?  I have enclosed complete source and not an abstract
that can be viewed.  Also, how would one break out of an infinite loop in
BBorland C/C++ 3.1? Thanks in advance to all that reply to this post.

ps:  My e-mail is taylor1@wse.eecs.uic.edu.

-------------------------------- Cut Here ------------------------------------

#include <stdio.h>
#include <stdlib.h>



typedef int INT;

struct NODE {
  INT info;
  struct NODE* prev;
  struct NODE* next;
  };

typedef struct NODE* NODEPTR;

/* Function prototypes. */
void DoublyLinkedInsert(NODEPTR p, NODEPTR q);
void DoublyLinkedDelete(NODEPTR p);
void DoublyLinkedPrint(NODEPTR head);
NODEPTR GetNewNode(void);



NODEPTR GetNewNode(void)
{
   NODEPTR newNode;

   newNode = (NODEPTR)malloc(sizeof(struct NODE));
   newNode->prev = newNode;
   newNode->next = newNode;

   return(newNode);
}


void DoublyLinkedInsert(NODEPTR p, NODEPTR q)
{
   /* Insert node pointed to by p just after */
   /* node pointed to by q. */

   p->prev = q;
   p->next = q->next;
   q->next->prev = p;
   q->next = p;
}

void DoublyLinkedDelete(NODEPTR p)
{
   /* Delete cell p from its doubly linked list. */

   p->prev->next = p->next;
   p->next->prev = p->prev;
   free(p);
}

void DoublyLinkedPrint(NODEPTR head)
{
    NODEPTR temp = head->next;

    while(temp != head)
      {
         
	 printf("Value: %2d\n", temp->info);
	 temp = temp->next;
      }
}

INT main(void)
{
   NODEPTR head;
   NODEPTR p;

   head = (NODEPTR)malloc(sizeof(struct NODE));
   head->prev = head;
   head->next = head;
   head->info = -2;

   p = GetNewNode();
   p->info = 1;
   DoublyLinkedInsert(p, head);
/*
   printf("\nDEBUG 1:\n head->info is %d\n", head->info);
   printf(" head->next->info is %d\n", head->next->info);
   printf(" head->next->next->info is %d\n", head->next->next->info);
   printf(" head->next->next->next->info is %d\n", head->next->next->next->info);
*/
   p = GetNewNode();
   p->info = 2;
   DoublyLinkedInsert(p, head);
   free(p); /* This is the line of code that I'm talking about above. */
/*
   printf("\nDEBUG 2:\n head->info is %d\n", head->info);
   printf(" head->next->info is %d\n", head->next->info);
   printf(" head->next->next->info is %d\n", head->next->next->info);
   printf(" head->next->next->next->info is %d\n", head->next->next->next->info);
*/
   DoublyLinkedPrint(head);
/*
   printf("\nDEBUG 3:\n head->info is %d\n", head->info);
   printf(" head->next->info is %d\n", head->next->info);
   printf(" head->next->next->info is %d\n", head->next->next->info);
   printf(" head->next->next->next->info is %d\n", head->next->next->next->info);
*/

   free(head);
   free(p);

   return 0;
}

   
    

  
Xref: sparky comp.lang.c:18745 comp.lang.c++:18278 comp.lang.misc:4071 comp.sys.misc:1021
From: mouse@thunder.mcrcim.mcgill.edu (der Mouse)
Newsgroups: comp.lang.c,comp.lang.c++,comp.lang.misc,comp.sys.misc
Subject: Re: How to turn PC speaker off?
Keywords: PC, c, c++, speaker
Date: 21 Dec 92 17:35:25 GMT
Followup-To: comp.sys.misc
Organization: McGill Research Centre for Intelligent Machines

> Newsgroups: comp.lang.c,comp.lang.c++,comp.lang.misc

It is never appropriate to crosspost between foo.bar and foo.misc, for
any values of foo and bar.  .misc groups are specifically for things
not falling in any of the other available subgroups.  Since this isn't
a programming-language question anyway, the whole comp.lang hierarchy
is inappropriate.  I'm cross-posting to comp.sys.misc and pointing
followups there.

In article <17645@umd5.umd.edu>, cschang@hamlet.umd.edu (C. S. Chang) writes:

> Is there any way to turn the PC speaker off so that there will be no
> beeps if a certain function call failed[?]

Take it to the appropriate machine- and/or OS-specific group.  Since
you didn't give any information about what sort of PC, it's impossible
to answer anyway.  (If you had posted to an appropriate group, like
comp.sys.mac or comp.sys.ibm.pc or comp.sys.sun or whatever, this
information, or at least some of it, would have been provided by your
choice of group.)

> So I am looking for a way to prevent the PC from generating some
> beeping noise.

If the machine really does have a speaker, you might consider disabling
it by electrical means, such as cutting (one of) the wires leading to
it, or if the electronics are touchy, replacing it with a resistor of
the appropriate resistance (eg, 8 ohms).  Assuming, of course, that
it's not a leased machine or anything similar. :-)

					der Mouse

			    mouse@larry.mcrcim.mcgill.edu
Newsgroups: comp.lang.c
From: ah017@yfn.ysu.edu (John B. Lee)
Subject: Need help with string arrays
Organization: Youngstown State University/Youngstown Free-Net
Date: Sun, 27 Dec 1992 23:25:12 GMT


In a current program that I am writing I have an array declaration
that looks like this:

char names[][4];

How would I use the gets() function to put a string into this array.
Am I declaring the array correctly to receive five strings?  << This
is what I'm trying to do.

John Lee
usr7245a@cbos.uc.edu
ah017@yfn.ysu.edu
--
From: John.Gibney@f386.n632.z3.fidonet.org (John Gibney)
Newsgroups: comp.lang.c
Subject: More on user input
Date: Tue, 22 Dec 1992 14:03:08

Howdy, All!

FANX! to everyone who chased me up about my suggestion to
use "gets" for simple user input -- I now understand that
memory overwrites might occur if "gets" reads too much and
the input string buffer is trashed.

So, for my simplistic programming needs(!), I'll change to
"fgets" and make sure everything is "inbounds".


John  :-)

... I haven't lost my mind; it's backed up on tape somewhere!
___ Blue Wave/QWK v2.10

 * Origin: Eastern Mail Centre [PEP] OZ. +61-3-725-1621 (3:632/386)
From: graham@taffy.rice.edu (Graham Palmer)
Newsgroups: comp.lang.c
Subject: Re: Printer and plotter BGIs wanted !
Date: 29 Dec 92 17:28:25 GMT
Followup-To: comp.lang.c,comp.lang.pascal
Organization: Rice University


In article <92350.163535IFF291@DJUKFA11.BITNET>, IFF291@DJUKFA11.BITNET
(Stephan Petersen) wrote:
> 
> 
> Hi there,
> 
> I'm looking for suppliers of BGIs for various printer and plotter
> models, to be used with Turbo Pascal und Turbo/Borland C. If anybody
> knows any sources for these interfaces, could you please let me know?
> 
> I came across some which have the copyright message "Copyright (C)
> 1989,90 M. K. Fleming" within the BGI-file. Maybe somebody would know
> which company exactly this stands for?
> 
> Thanks for any pointers,
> Stephan
> 
> Try Quin-Curtis 35 Highland Circle, Needham Mass. 02194 U.S.A.
Tel: (617) 449-6155. I've had good luck with their BGI Printer Driver
Toolkit
which supports a wide variety of printers and several HP Plotters.
Graham.
> 
> 
> +------------------------------------------------+
> | Stephan Petersen                               |
> |                                                |
> | Bitnet/EARN: IFF291@DJUKFA11                   |
> | Internet:    IFF291@zam001.zam.kfa-juelich.de  |
> +------------------------------------------------+
Newsgroups: comp.lang.c
From: begley@l14h13.jsc.nasa.gov
Subject: Re: Newbie Wants Advice on C-Programming
Organization: Lockheed Engineering and Sciences
Distribution: usa
Date: Thu, 24 Dec 1992 18:30:09 GMT

In article <1992Dec24.172333.7339@grebyn.com> malak@grebyn.com (Michael Malak)
writes:
>In article <1992Dec23.220530.15347@netcom.com> noring@netcom.com (Jon Noring)
writes:
>>2) We want to do most of our programming on our 386-33 PC running MSDOS 5.0.
>>   What C-type compilers exist for the PC?  Which ones are better?  How much
>>   do they cost and where can one get them at a discount?
>
>In any case, you should get MASM 6.0, which lists for $150.  It is both
>a 16-bit and a 32-bit assembler and can link with Microsoft, Borland,
>and Intel C compilers.
>
>The Intel C Code Builder lists for $595.  I'm not sure of the prices for
>Microsoft C++ and Borland C++, but I imagine they are $300 - $500. 
>
   Ignoring the basic premise of your question (PC based), I have really
been surprized by the prices people have quoted here for PC C compilers.
The Mac hardware price is much higher than PC prices, but I expected
software to be about the same.  In the Mac world, there are 4 or 5 C
compilers, with the major two being Think C  and MPW (Mac Programmer's
Workshop).  Think C has a street price of $199, and by buying the $35
"Learning C on the Mac" book (which comes with "Thin C", a slim version
of Think C), the upgrade to THink C is only $129.  I hear Think C sells
for $99 to students.  Think is a fine programming environment, with
compiler, linker, editer, and debugger rolled into one.  So why are
the PC compilers so much more?

>>Jon Noring
>>Charter Member of the INFJ Club.
>
>- Michael Malak, INTP
>
- Mike Begley,  ISTP
Newsgroups: comp.lang.c
From: millerje@CS.ColoState.EDU (Jeff Miller)
Subject: Re: C code Layout
Date: Wed, 23 Dec 1992 18:18:34 GMT
Organization: Colorado State University, Computer Science Department

>P.S I've got some macros for vi that solve mazes. Try that in poo. Sorry,
>EMACS.

I find this a vital feature to look for when evaluating editors.


-- 
 _____________________________________________________________________________
|                                                                             |
| "Nuke the unborn gay whales!" |  millerje@cs.colostate.edu  |  Jeff Miller  |
|_____________________________________________________________________________|
From: sandeep@almaden.ibm.com (Sandeep K. Gopisetty 7-2680 B3-307)
Newsgroups: comp.lang.c
Subject: Re: Yacc/ BNF Form / HELP!
Date: 28 Dec 92 17:57:58 GMT
Reply-To: sandeep@almaden.ibm.com (Sandeep K. Gopisetty 7-2680 B3-307)
Organization: IBM Almaden Research Center


In article <1992Dec28.150046.25150@panix.com>, isc@panix.com (David
Koosis) writes:
|> In <Dec.27.14.34.23.1992.17980@romulus.rutgers.edu>
adrian@romulus.rutgers.edu (Adrian Rodriguez) writes:
|> 
|> >Buy "Compilers: Principles, Techniques, and Tools" by Aho, Sethi,
and Ullman.
|> 
|> (this in response to the original poster's request for info on yacc/lex/bnf)
|> 
|> Another good source is nearly anything by A. Holub. 
|> Holub's articles (in C Gazette) and his magnum opus on compiler construction
|> ("writing compilers with c" i think - I don't have it handy)
The name of the book is "Compiler Construction in C" by Holub and so far
it is the best book I have ever read relating to Compiler Construction.

|> are chock full of practical explanations and full-length examples.
|> 
|> I find that Holub's book complements the Dragon Book nicely and 
|> is superior when what you require is a quick example.
|> -- 
|>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|> ISC Consultants NYC 212-477-8800 Training/Consulting Since 1973
isc@panix.com
---------             
Sandeep K. Gopisetty
                   
IBM               
Almaden Research Center
San Jose, CA 95120   
Newsgroups: comp.lang.c
From: bandy@netnews.jhuapl.edu (Mike Bandy)
Subject: Re: Unsolveable bug
Organization: JHU/Applied Physics Laboratory
Date: Wed, 30 Dec 1992 14:14:53 GMT

markh@csd4.csd.uwm.edu (Mark) writes:

>   I've run into an unsolveable bug.  The bug comes from no visible error, it
>disappears when searched for under a debugger, and it's likewise non-existent
>when the same program is run under other platforms and compilers.  And it
>doesn't involve anything having to do with timing of any sort.

>   It appears on the DOS port of the program and causes the machine to crash
>immediately after a call to malloc().  The malloc call is the ANSI-compatible
>call, declared with the <stdlib.h> header.  The particular usage leading to
>the crash is (as determined by traces): malloc(16), malloc(16), malloc(20), ...
>with no intervening free() calls.  All calls to malloc() return valid pointers.
>Checking the memory usage reveals no corruption or access out of bounds.

>   The compiler creating the problem has had reliable error-free performance
>with other similar programs.

Given your symptoms, I'd examine the PC's hardware for problems.  How
does the PC behave under other memory intensive applications?

-- 

	Mike Bandy
	bandy@aplcomm.jhuapl.edu
	Johns Hopkins University / Applied Physics Lab
Newsgroups: comp.lang.c
From: ctaylor@cs.uiuc.edu (Conrad Taylor)
Subject: Doubly Linked Circular Binary Tree...???
Organization: University of Illinois at Urbana-Champaign
Date: Wed, 23 Dec 1992 20:42:20 GMT

         I would like to use some routines for a doubly linked list
to construct a binary tree.  Could some explain how to do this or where
I may find code that does this?  Thanks in advance to all that reply to
this post.

-Con

ps:  My e-mail is taylor1@wse.eecs.uic.edu.
Organization: Penn State University
Date: Sun, 3 Jan 1993 00:42:25 EST
From: <RVK@psuvm.psu.edu>
Newsgroups: comp.lang.c
Subject: [FAQ] size of executables ?

Hi, my question may be a faq, but I am asking it nevertheless.

How does one compile a c program so that the size of the
executable is as small as possible. I noticed that even a
trivial program like Hello.c  produces a huge executable,
perhaps due to the include files stdio.h etc. Of course,
I can not do any i/o without stdio.h . On the other hand,
I am not using all the stuff that's there in stdio.h, and
feel that the size of the executable should be proportional
to what I am using. Any suggestions ?
Newsgroups: comp.lang.c
From: ramachandran@amreto.enet.dec.com ()
Subject: Wanted  - used text books
Reply-To: ramachandran@amreto.enet.dec.com ()
Organization: Digital Equipment Corporation
Date: Wed, 30 Dec 1992 20:01:11 GMT

Looking for 

1.  Discrete Mathematics with Computer Science Applications
    By Kvarcius R, Robinson W

2. C 
    By Discovery, Foster, Scott

Please reply directly.
Newsgroups: comp.lang.c