From 1dc3d266ef6f3d8b0091ebfbb982859ca35ead50 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 8 Jun 1999 20:25:31 +0000 Subject: Update. * grp/fgetgrent.c (buffer): Make file local variable. (free_mem): New function. Call for malloc debugging. --- grp/fgetgrent.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'grp') diff --git a/grp/fgetgrent.c b/grp/fgetgrent.c index ac8d093f05..d2e3de69a7 100644 --- a/grp/fgetgrent.c +++ b/grp/fgetgrent.c @@ -26,11 +26,12 @@ /* We need to protect the dynamic buffer handling. */ __libc_lock_define_initialized (static, lock); +static char *buffer; + /* Read one entry from the given stream. */ struct group * fgetgrent (FILE *stream) { - static char *buffer; static size_t buffer_size; static struct group resbuf; fpos_t pos; @@ -85,3 +86,14 @@ fgetgrent (FILE *stream) return result; } + + +/* Free all resources if necessary. */ +static void __attribute__ ((unused)) +free_mem (void) +{ + if (buffer != NULL) + free (buffer); +} + +text_set_element (__libc_subfreeres, free_mem); -- cgit 1.4.1