HDTenEightyP/NetNews huggingface dataset:
From: gday@ignatz.inde.bc.ca (Gordon Day)
Subject: Re: How precise is preprocessor math? (I'm using gcc)
Organization: INDE Electronics, Inc.
	<1992Dec18.104956.11433@flood.com>
Date: Sat, 19 Dec 1992 00:41:10 GMT

>>>"tc" == Tom Chatt <tom@flood.com> writes:

tc> If Chris Volpe was suggesting the more limited proposition that
tc> certain standard calls, such as sin(), are "known" to the
tc> compiler, that's plausible, but still seems dubious. "sin" is not
tc> a resrved word in C, and nothing would prevent me from writing my
tc> own "sin()" routine which did something completely different. Even
tc> if all of the standards committees agreed that no one shall write
tc> routines called "sin" which do anything other than perform the
tc> math sine function, there would still be different
tc> implementations, and a compiler would be presumptuous to pick one
tc> for me. I concede that there is a somewhat standard "libm.a" which
tc> comes with various flavors of Unix, but at least on my systems
tc> (SunOS) "sin" takes its argument in radians, while the "sin"
tc> routine being used by the example above apparently expects
tc> degrees.

Why not provide an optional keyword like 'idempotent'?

_______________________________________________________________________________
gordon day, inde electronics, +1-403-430-1446.
From: torek@horse.ee.lbl.gov (Chris Torek)
Newsgroups: comp.lang.c
Subject: Re: Signal() function & CTRL-C checking...
Date: 16 Dec 1992 19:01:08 GMT
Organization: Lawrence Berkeley Laboratory, Berkeley CA
NNTP-Posting-Host: 128.3.112.15

In article <1992Dec16.053939.1014@monu6.cc.monash.edu.au>
alien@yoyo.cc.monash.edu.au (Diego Barros) writes:
>Could someone please explain what exactly the signal prototype in the
>signal.h file is declaring (in english?!?) :)

><signal.h>	extern void (*signal(int __sig, (*__func)(int)))(int);

You left out a `void' (either that, or your <signal.h> is broken):

void	(*signal(int, void (*)(int)))(int);

(note, I have broken up long lines below)
	% cdecl
	cdecl> explain void (*signal(int, void (*)(int)))(int)
	declare signal as function
	    (int, pointer to function (int) returning void)
	returning pointer to function (int) returning void

If your tabstops are set properly :-) (or even if not) a certain
symmetry here should jump out at you: signal's second argument has
the exact same type as signal's return value.  If you take the
`pointer to's off that type, you get something quite simple:

	function (int) returning void

or, in C:

	void myfunc(int some_parameter) { ... }

These are valid `signal functions'.  When a signal occurs, if the
signal has been attached to `myfunc', `myfunc' will get called with
some_parameter set to the signal number.  Hence:

	(void)signal(SIGINT, myfunc);
	raise(SIGINT);

will call myfunc() with SIGINT, almost as if you replaced the raise()
with

	myfunc(SIGINT);

The return value from signal() is simply a pointer to the previous
function, if any, or one of the special values (SIG_IGN, SIG_DFL,
SIG_ERR).

If you call a signal handler yourself, through raise(), it is fairly
safe to do just about anything in that handler.  If you trap `system'
signals (SIGINT, SIGALRM, etc) and receive one of those, very little
is safe.  Portable, reliable programs generally just set a flag (of
type volatile sig_atomic_t) and return; the remainder of such programs
tends to be peppered with checks of the form:

	if (we_got_an_interrupt) take_care_of_it();

(Most interactive programs have some sort of central loop, so that
one does not need very many `if (we_got_an_interrupt)'s.)
-- 
In-Real-Life: Chris Torek, Lawrence Berkeley Lab CSE/EE (+1 510 486 5427)
Berkeley, CA		Domain:	torek@ee.lbl.gov
From: surendar@elm (Surendar C.)
Newsgroups: comp.lang.c
Subject: Re: learning about make
Date: 15 Dec 1992 08:07:08 GMT
Organization: Worcester Polytechnic Institute, Worcester MA 01609, USA.
Reply-To: surendar@wpi.wpi.edu
NNTP-Posting-Host: elm.wpi.edu
X-Newsreader: TIN [version 1.1 PL8]

: What I'd like to see is an example of a combination of makefile and rcs.
: I've tried setting it up myself, but I am an expert with neither.  What I'd
: like to be able to do is have make compile my program using whatever source
: files currently exist (and co'ing any which don't) unless I define FINAL, OR
: something.  If FINAL is defined, make would ci all source files and then
: compile my program.  Has anyone else done this?
UNIX make by default seems to have all these rules builtin. You may want to 
try and do 'make -p' which would print all the rules make knows. 
You can get that in a file and look around to see how the general rules are 
written. I think this makes up a good sample file. You may also want to 
add new file extensions by using .SUFFIXES.

surendar
Newsgroups: comp.lang.c
From: ctaylor@cs.uiuc.edu (Conrad Taylor)
Subject: What does the following pointer syntax mean...???
Organization: University of Illinois at Urbana-Champaign
Date: Wed, 16 Dec 1992 03:42:39 GMT


    Could someone explain what the following pointer syntax
is doing:

    *ptr = (*ptr)->link;
           ^^^^^^^^^^^^
?  Thanks in advance to all that reply to this post.

-Conrad

ps:  Please e-mail me at either taylor1@wse.eecs.uic.edu or
     ctaylor@silver.lcs.mit.edu.

   
Newsgroups: comp.lang.c
From: msb@sq.sq.com (Mark Brader)
Subject: Shhh (was: turboc)
Organization: SoftQuad Inc., Toronto, Canada
Date: Sat, 19 Dec 92 05:56:27 GMT

> AAAAAAAAAAAAAAAAAAAAAAAGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!
> AAAAAAAAAAAAAAAAAAAAAAAGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!
> AAAAAAAAAAAAAAAAAAAAAAAGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!

Shhh.  Please!  You're making my ears hurt.
-- 
Mark Brader, SoftQuad Inc., Toronto, utzoo!sq!msb, msb@sq.com

"Up until now, you have been told never to use the Goto.  I use it.  I use
 a revolver too, but I don't give it to my children."     -- a Prof. Baird
Newsgroups: comp.lang.c
From: mcdonald@aries.scs.uiuc.edu (J. D. McDonald)
Subject: Re: Questions about token merging and trigraphs
Organization: UIUC SCS
Date: Sat, 19 Dec 1992 17:14:41 GMT

In article <1992Dec18.205405.24296@klaava.Helsinki.FI> wirzeniu@klaava.Helsinki.FI (Lars Wirzenius) writes:

>mcdonald@aries.scs.uiuc.edu (J. D. McDonald) writes:
>>Trigraphs were by far the most serious mistake made by the ANSI C
>>committee, as serious, in fact, as the myriads of stupid things done by the
>>Fortran committee.
>>
>
>>THEY BREAK EXISTING CODE!!!

>I assume that you are also of the opinion that everything else that
>breaks existing code should have been left out of the standard? 
No, only things that break existing 100% legal K&R I code.
For example, lots of code assumed that this_is/**/_two_symbols
actually meant this_is_two_symbols than the correct 
this_is _two_symbols. Such code was already broken. 

 However, with few exceptions things that worked
>(portably) in K&R C, still work unchanged.  Trigraphs are one of the
>exceptions,

And it gets flamed because they are a stupid idea.


>What I don't understand is why so many people are so vehemently
>opposed to trigraphs.

Because they break existing 100% correct code and are 100% unnecessary.


>I can't see a better solution than trigraphs
Solution to what problem?? If you are stupid enough to not use a 
character set that contains those characters, **get a better character
set**. They are, and were, readily available, you know. 


>But perhaps it is part of a larger opposition against the standard.
>There are a number of people who seem to think that the standard is,
>to various degrees, a pile of shit, and that everything the committee
>did was wrong.  

That is true. X3J3 made a total utter botch, and as a result Fortr...
oops, that's the wrong langauage. Still, Fortran 90 **is** an utter
botch and will likely never become widely used.

ANSI C is not an utter botch .. in fact, the only botched part
is trigraphs!! That what's so galling ... one big fat ugly botch
on an otherwise remarkably well done thing.

It's not fatal, like the lack of ligatures in Unicode. Just like
a moustache on the Mona Lisa.

Doug McDonald
Newsgroups: comp.lang.c
Subject: Re: Unsigned Char -> 00100110
From: a_rubin@dsg4.dse.beckman.com (Arthur Rubin)
Date: 9 Dec 92 20:30:49 GMT
Organization: Beckman Instruments, Inc.
Keywords: bugs bugs more bugs

In <1992Dec9.164610.19534@cbfsb.cb.att.com> cameron@cbnewsb.cb.att.com (cameron.gregory) writes:


>char *tobin(unsigned char x)
>{
> int i;
> static char r[9];
>  for (i=0;i<8;i++)
>    r[7-i] = (x&(1<<i)) ? '1' : '0';
>  r[8] = '\0';
>  return r;
>}

I think this will work, but .... (1) (don't put tabs in news; not all
newsreaders expand them the same, and quoting may look terrible)

char *tobin(unsigned char x)
{
   static char r[9];
   char * t = &r[8];
   static char s[2] = "01";

   do {
       *--t = s[x&1];
       x <<= 1;
   } while (t != &r[0]);
   return r;
}

looks cleaner to me.
--
Arthur L. Rubin: a_rubin@dsg4.dse.beckman.com (work) Beckman Instruments/Brea
216-5888@mcimail.com 70707.453@compuserve.com arthur@pnet01.cts.com (personal)
My opinions are my own, and do not represent those of my employer.
My interaction with our news system is unstable; please mail anything important.
From: Mike.Tedder@f181.n363.z1.fidonet.org (Mike Tedder)
Newsgroups: comp.lang.c
Subject: Zmodem source
Date: Tue, 15 Dec 92 15:27:00 PDT
Organization: FidoNet node 1:363/181

Hello.  I lost your message in a HD crash, but I was able to read part of it. You said something about you knew where I could get 'C' source for Zmodem? And as a trade, I would give you the VAX/VMS version?  Am I correct?  Thanks.

--  
        Mike Tedder  -  via FidoNet Node: 1:363/42
             UUCP:  -  ...tarpit!tous!business!181!Mike.Tedder
             ARPA:  -  Mike.Tedder@f181.n363.z1.fidonet.org
Newsgroups: comp.lang.c
From: mueller@b30news.b30.ingr.com ( Phil Mueller )
Subject: Re: a question about if and case
Organization: Intergraph
Date: Mon, 14 Dec 1992 16:56:38 GMT

In article <1gi6poINN3lv@nz12.rz.uni-karlsruhe.de> "hans friedrich steffani" <GM08@DKAUNI2.BITNET> writes:
>
>i have something like
>
>int i;
>
>if( i == 1 || i == 25 || i == 125 )
> {
>  /* do something sophisticated */
> }
>if( i == 2 || i == 30 || i == 244 )
> {
>  /* do something different */
> }
>
>or should i use
>
>switch( i )
> {
>  case 1:
>  case 25:
>  case 125:
>  /* do something sophisticated */
>  break;
>
>  case 2:
>  case 30
>  case 244:
>  /* do something different */
>  break;
>
>  default:
>  break
> }
>

I would do this

  switch( ii ) {
    case   1:
    case  25:
    case 125:
      /* something */
    break; /* 1,25,125 */


    case   2:
    case  30:
    case 244:
      /* something */
    break; /* 2,30,244 */

    default:
      error( "%s, ii has value %d, should be on of %s, in %s:%d",
             "internal error", ii, "{1,2,25,30,125,244}", __FILE__, __LINE__ );
    break;
  } /* switch ii */


1) I can just scan down the line to see the values.
2) defensive error message gives me all the info I have so I can fix.

( I split up the error line to fit on one line.  You should get the idea. )

I hard-coded in the valid values.  Does anyone know a way to make that 
automatic?
-- 
Phil Mueller    mueller@b30news.b30.ingr.com
The preceeding opinions are not necessarily those of Intergraph Corporation.
Newsgroups: comp.lang.c
From: mcdonald@aries.scs.uiuc.edu (J. D. McDonald)
Subject: Re: Peek/Poke in C
Organization: UIUC SCS
Date: Fri, 18 Dec 1992 14:36:14 GMT

In article <BzGIDn.Ho4@news.cso.uiuc.edu> cad28526@uxa.cso.uiuc.edu (Chuck Douglas) writes:

>pal@regent.e-technik.tu-muenchen.dbp.de (Peter Loibl) writes:

>>ericwebb@blackwlf.gwinnett.com (eric webb) writes:

>>>Hi again.. does anyone know how to do equivalent of BASIC's PEEK & POKE
>>>statements in C?

>>I am sorry for my ignorance, but what are PEEK and POKE doing? If you
>>describe their task, then this would be lots of help for all the
>>"C-Gurus" here.

>PEEK and POKE are used in Applesoft BASIC to look at (PEEK) the contents
>of or put (POKE) a value in to a specific memory address.  I really
>don't believe that there is anything analogous to it in C.  At least
>nothing that would serve the use it does in Applesoft.


Peek and Poke exist (existed) in far more than just one particular Basic.
They are  (were) near ubiquitous. For example, there were in PDP-11
RT11 **system** subroutines (they were not, however, system **calls**,
as they did not call the OS) called IPEEK and IPOKE, not to mention ISPY.

And, of course, the original poster had the correct answer! These calls
are used or OS sorts of things, e.g. writing to device registers. 
Any subroutine written in C for the purpose  of being a device driver for
a machine with memory mapped IO or IO vectors will need them.

AND FOLKS, PLEASE, don't go blathering about "portability". It makes you
look silly. If the address of something on you computer is 13556, that's 
what it is, and you have no choice about using it.

The answer is "if you can do it at all in C, you cast the address to
a pointer of the proper sort and access that pointer ...

*(char _far *)(13556) = 17;

or value = *(char _far  *)(13556); "

where the _far implies you are running a PC in 16 bit mode. 

On some computers you can do this only if the address is within some 
annointed range. But remember, you purists out there, this likely **IS**
kernal code. You likely **can** address anywhere you want to!


Doug McDonald
From: kdq@quest.UUCP (Kevin D. Quitt)
Newsgroups: comp.lang.c
Subject: Re: WHAT WENT WRONG?
Date: Thu, 17 Dec 92 20:41:48 PST
Reply-To: srhqla!quest!kdq
Organization: Job quest  (805) 251-8210,  So Cal: (800) 400-8210

alex@mips.complang.tuwien.ac.at (Alexander Forst) writes:

>In article <10441.107.uupcb@cutting.hou.tx.us>, david.brooks@cutting.hou.tx.u
>main()
>{
>double x, y;
> 
>     printf("\nEnter number to factorialize:");
>     scanf("%lf", &x);
>             ^^------------------------ you want to input a double value
> 
>     for(y=x-1;y>1;y--) x*=y;
> 
>     printf("\nFactorial= %lf\n", x);
>                           ^^---------- and printf a double value

			    ^----- Completely unnecessary (the 'l').

    All floating point values passed to any variadic function are
passed as doubles (via promotion as necessary); therefore printf always
has and always will "automatically recognize" the double.  In fact, all
the libraries I've seen that use IEEE floating-point also automatically
recognize the long double.


 _
Kevin D. Quitt      96.37% of all statistics are made up.     srhqla!quest!kdq
From: surendar@elm (Surendar C.)
Newsgroups: comp.lang.c
Subject: Re: array of file pointer ?
Date: 16 Dec 1992 03:32:26 GMT
Organization: Worcester Polytechnic Institute, Worcester MA 01609, USA.
Reply-To: surendar@wpi.wpi.edu
NNTP-Posting-Host: elm.wpi.edu
X-Newsreader: TIN [version 1.1 PL8]

KONG-JIN  LEE (kjlee@mtu.edu) wrote:
: Does anyone know how to declare an array of file pointer in GCC

: I have tried :

: FILE *filptr[10];

Did you include the header file stdio.h before you did that?? Guess you could 
do any of the methods you specified after that..

surendar
Newsgroups: comp.lang.c
From: dschmitz@iastate.edu (Daniel C Schmitz)
Subject: Re: How to test a programmer
Organization: Iowa State University, Ames IA
Date: Wed, 16 Dec 1992 16:02:03 GMT

I didn't see the very first posts of this but I think the general idea was
to test a potential employees knowledge of C by having the tell you what a
piece of code might do, or use some C "tricks" to accomplish a wierd task.

What might be more useful, and this was done to me, is to give potential
employees programming problems.  Tell them to write a solution and mail the
source code to you.  This not only tells you if they are competent, but gives
you an idea of their programming style. 

The test that was given to me was something like, you are given a file that
contains a list of coins (pennies, nickles, dimes, and quarters).  The job
was to draw the list of coins side by side on the screen, centered left to 
right.  The drawing primitives available to you are moveto(x,y) and 
drawto(x,y).  The job was for a company involved in graphics.  This not only
tested my programming skills, but my knowledge of graphics algorithms and
my attention to details that the programmer must know but were not provided
with the original problem description.  E.g. what is the format of the file,
should the coins be centered top to bottom with relation to each other and/or
to the screen.  Will the input contain errors and/or more coins than will fit
on the screen.  What are the sizes of the coins.

Dan Schmitz
dschmitz@iastate.edu
From: dsbb@ns1.cc.lehigh.edu (D. SPENCER BEECHER)
Newsgroups: comp.lang.c
Subject: Re: Question to test general C knowledge
Date: 16 Dec 92 18:01:17 GMT
Organization: Lehigh University

>>>>    int i = 2;
>>>>    i = ++i;
>>> If they say other than "it's undefined", *then* don't hire them.

After reading much discussion on this matter, I have only
one question:

On what page of the white book does it indicate precedence in
evaluation of the above statement?

I would compare this to the line:

putchar(c)=getchar();

(which, by the way, does NOT work on any but the most forgiving compilers)
-- 
                   _ _     _ _     _ _
  -Spence         [O.O]   )x.x(   )O.O(
                    O       O      -*-
Newsgroups: comp.lang.c
From: mccall@mksol.dseg.ti.com (fred j mccall 575-3539)
Subject: Re: a question about if and case
Organization: Texas Instruments Inc
Date: Tue, 15 Dec 1992 17:09:40 GMT

In <Mf=CaVW00aw4QDV2dx@andrew.cmu.edu> dw3u+@andrew.cmu.edu (Daniel C. Wang) writes:

>GM08@DKAUNI2.BITNET (hans friedrich steffani) writes:
>> i have something like
>> 
>> int i;
>> 
>> if( i == 1 || i == 25 || i == 125 )
>>  {
>>   /* do something sophisticated */
>>  }
>> if( i == 2 || i == 30 || i == 244 )
>>  {
>>   /* do something different */
>>  }
>> 
>> or should i use
>> 
>> switch( i )
>>  {
>>   case 1:
>>   case 25:
>>   case 125:
>>   /* do something sophisticated */
>>   break;
>> 
>>   case 2:
>>   case 30
>>   case 244:
>>   /* do something different */
>>   break;
>> 
>>   default:
>>   break
>>  }
>> 
>> or is there a third way??
>> i need contructions like this very often so i need a GOOD
>> solution.
>> 
>> hans friedrich   steffani@imbaibrs1.bau-verm.uni-karlsruhe
>> steffani         gm08@rz.uni-karlsruhe.de
>>                  gm08@dkauni2.bitnet

>The first way is more readable 

For you.  I personally find switch constructs to be much easier to
read and understand than a whole mess of 'if' constructs, plus using
the switch will provide you with the 'default' case for those times
when you have to do error recovery because your value winds up being
out of band (this is messy to do for the 'if' case unelss one
structures it as a series of 'if - else if - else if -else').

>the second probably marginaly faster
>during compile time.  

It will also be faster during run time (generate better code) on a lot
of compilers (depending on how bright your optimizer is).  Who cares
how fast things COMPILE?

>Can't think of a third way off hand that would
>be worth mentioning.  I'd stick with readablity over 'speed.'

So would I.  I find it handy that I can get both by using the
'switch'.

-- 
"Insisting on perfect safety is for people who don't have the balls to live
 in the real world."   -- Mary Shafer, NASA Ames Dryden
------------------------------------------------------------------------------
Fred.McCall@dseg.ti.com - I don't speak for others and they don't speak for me.
From: "hans friedrich steffani" <GM08@DKAUNI2.BITNET>
Newsgroups: comp.lang.c
Subject: a question about if and case
Date: 14 Dec 1992 15:47:20 +0100
Organization: University of Karlsruhe, Germany
Distribution: world


i have something like

int i;

if( i == 1 || i == 25 || i == 125 )
 {
  /* do something sophisticated */
 }
if( i == 2 || i == 30 || i == 244 )
 {
  /* do something different */
 }

or should i use

switch( i )
 {
  case 1:
  case 25:
  case 125:
  /* do something sophisticated */
  break;

  case 2:
  case 30
  case 244:
  /* do something different */
  break;

  default:
  break
 }

or is there a third way??
i need contructions like this very often so i need a GOOD
solution.

hans friedrich   steffani@imbaibrs1.bau-verm.uni-karlsruhe
steffani         gm08@rz.uni-karlsruhe.de
                 gm08@dkauni2.bitnet
From: yates@a.chem.upenn.edu (John H. Yates)
Newsgroups: comp.lang.c
Subject: *graceful* number series
Date: 17 Dec 92 04:21:04 GMT
Organization: University of Pennsylvania

I have a user that has a bad C code for generating
graceful numbers. Does anyone have such a beast
or a reference? I can't explain what a graceful
number is, but it is evidently a mathematically
accepted and defined beast. I can't find it in
Numerical Recipes or some of Knuth's books though.

Thanks, John
yates@a.chem.upenn.edu
Newsgroups: comp.lang.c
From: tanner@cdis-1.compu.com (Dr. T. Andrews)
Subject: Re: Questions about token merging and trigraphs
Organization: CompuData, Inc.  (DeLand)
Date: Fri, 18 Dec 92 23:16:37 GMT
X-Phone: +1 904 736 0866
X-Snail: 1409 E New York Ave; DeLand, FLA   32724.

Underneath a bogus ``reply-to'' header, kdq@quest.UUCP writes..
kdq-) spend a little time in thought before lashing out at
kdq-) necessary and occasionally useful, if obscure, parts of C.
This fairly highlights our difference of opinion.  The part of  C
known  as  the  trigraph  is  not  necessary, and on balance I am
unconvinced of its utility or  that  the  utility  outweighs  the
harm.

First, necessity: a trivial proof exists that there is no machine
on which the characters can not be represented in some other way.

Second, utility: the most commonly-cited character set for  which
trigraphs are ``justified'', EBCDIC, certainly has the characters
in question.  Disagreement on  print-train  convention  may  mean
that  some  people  see  different  characters  in place of their
expected, on some of their printers.  A  similar  problem  exists
for  people  whose  terminals  replace  certain  ASCII characters
according to local preference.

This means that, without trigraphs, some  people  would  have  to
accept  what  their printers give; others would have to configure
terminals to show the ASCII characters when writing C.  It is not
clear that trigraphs are preferable.

Had the utility been clear, there would have been a large body of
prior  art  from  which  to  draw.  The lack of such a large body
suggests that the problem is insufficiently bothersome to justify
the development of the art.

Third, harm: it is by no means  unlikely  that  ``can't  happen''
error  messages  may  include  text such as ``zero quark-count??!
contact support''.  The harm of having the error message  mangled
is small, but the benefit of this replacement in a string appears
to be zero.  If you have to use a trigraph for the character,  it
seems unlikely that you will benefit by putting it in a string.

Reduced program legibility is also harmful.

Thus, because trigraphs are unnecessary,  insufficiently  useful,
and  occasionally harmful, I judge that they were an invention of
questionable virtue.

My comment in the earlier post, that trigraphs were developed  to
demonstrate  the  problem  with  allowing  standards groups to go
beyond prior art, was a gratuitous cheap shot of which I am  less
ashamed than I should be.

-- 
uflorida!ki4pv!cdis-1!tanner {uunet dsinc}!cdin-1!cdis-1!tanner
Newsgroups: comp.lang.c
Subject: turbo C question
From: donohue@nrlvx1.nrl.navy.mil
Date: 18 Dec 92 11:13:08 -0400
Organization: NRL SPACE SYSTEMS DIVISION

I have a question for anybody who might know the answer to.

In borland turbo C 2.01, I am using the atoi() and atof()
functions.  However, when I call the function that contain these
2 stdlib functions, I get the following error:

Floating point error: domain

I am calling this function in order to enter a string and convet
to a number if it is one.  It accepts the string input, but then
that error occurs.  Does anybody know how to avoid this or how to
fix it.  I realize this is difficult to answer without seeing the
code, but any ideas would be useful.

Please Help!

Thanks
Newsgroups: comp.lang.c