* newlib/libc/stdio/findfp.c (glue_with_file): New.

(__sfmoreglue): Use glue_with_file to avoid alignment problems.
This commit is contained in:
Corinna Vinschen 2013-03-15 13:19:29 +00:00
parent ba42414160
commit 01aff1ea37
2 changed files with 18 additions and 9 deletions

View File

@ -1,3 +1,8 @@
2013-03-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
* newlib/libc/stdio/findfp.c (glue_with_file): New.
(__sfmoreglue): Use glue_with_file to avoid alignment problems.
2013-02-28 Corinna Vinschen <vinschen@redhat.com>
* libc/include/machine/setjmp.h (sigjmp_buf): Fix definition of

View File

@ -77,23 +77,27 @@ _DEFUN(std, (ptr, flags, file, data),
#endif
}
struct glue_with_file {
struct _glue glue;
FILE file;
};
struct _glue *
_DEFUN(__sfmoreglue, (d, n),
struct _reent *d _AND
register int n)
{
struct _glue *g;
FILE *p;
struct glue_with_file *g;
g = (struct _glue *) _malloc_r (d, sizeof (*g) + n * sizeof (FILE));
g = (struct glue_with_file *)
_malloc_r (d, sizeof (*g) + (n - 1) * sizeof (FILE));
if (g == NULL)
return NULL;
p = (FILE *) (g + 1);
g->_next = NULL;
g->_niobs = n;
g->_iobs = p;
memset (p, 0, n * sizeof (FILE));
return g;
g->glue._next = NULL;
g->glue._niobs = n;
g->glue._iobs = &g->file;
memset (&g->file, 0, n * sizeof (FILE));
return &g->glue;
}
/*