avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-gcc-list] libc/fdevopen/calloc/malloc (was gcc-3.4.2 bin forwin


From: Ned Konz
Subject: Re: [avr-gcc-list] libc/fdevopen/calloc/malloc (was gcc-3.4.2 bin forwin xp?)
Date: Wed, 10 Nov 2004 10:09:03 -0800
User-agent: KMail/1.7

On Wednesday 10 November 2004 5:56 am, Joerg Wunsch wrote:
> OK, but at least I have to restrict the size of the table of pointers
> then, to say 3 pointers.  The user has to pass the _iob object's space
> then in the function.
>
> Sigh, it seems I have to export _iob then in <stdio.h>. :-(  I was
> trying to avoid that, I've seen too many crappy old Unix programs
> where programmers abused supposedly internal fields of _iob in their
> programs, as <stdio.h> did export it to them.

Why?

You could just expose sizeof(struct _iob) as a #define and require that the 
initializer get passed a char* or void* that defines that area:

#define IOB_SIZE  32

void initializeIOBuffers(char* buffers, uint8_t nBuffers);

... later ...

#define NBUFFERS 3
char myBuffers[ NBUFFERS * IOB_SIZE ];
initializeIOBuffers(myBuffers, NBUFFERS);

-- 
Ned Konz
http://bike-nomad.com



reply via email to

[Prev in Thread] Current Thread [Next in Thread]