This is the mail archive of the newlib@sources.redhat.com mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

patch: __env_lock/__env_unlock prototypes


This patch adds prototypes to envlock.h, which fixes two warnings in each
of getenv_r.c and setenv_r.c.

Hmm, as people watch in silent horror, maybe I should explain what I'm
doing: I'm trying to get a reasonably clean build with -Wall, mainly to
find my own bugs, but I think it can only help if other code doesn't
yield tons of unnecessary warnings too. I'm grouping my patches by
their complexity and by how controversial their inclusion may be, e.g.
the missing includes patch is a direct application of POSIX.1, while
this one re-arranges an internal interface, and the next one will deal
with gcc-isms.

Current status: I'm pretty much through with headers/prototypes (at
least as far as -Wall is concerned - -Wmissing-prototypes may be
another story). Now there are plenty of "might be used uninitialized"
and "suggest parentheses" warnings, particularly in libm. I've looked
at a few of them, mainly those in libc, and the code looks correct, so
I don't want to do a lot about them. I'll make a patch for a few
trivial cases of "suggest parentheses", though. Then I'll shut up
again ;-)

- Werner

---------------------------------- ChangeLog ----------------------------------

2000-08-23  Werner Almesberger  <Werner.Almesberger@epfl.ch>
	* libc/stdlib/envlock.c: changed documented "__env_lock" and
	"__env_unlock" prototype from "void *" or "char *" to
	"struct _reent *" to match real function
	* libc/stdlib/envlock.h: added "__env_lock" and "__env_unlock"
	prototypes (for getenv_r.c and setenv_r.c)
	* libc/stdlib/envlock.c: included envlock.h for "__env_lock" and
	"__env_unlock" prototypes

------------------------------------ patch ------------------------------------

--- orig/newlib/libc/stdlib/envlock.c	Wed Mar 22 01:09:49 2000
+++ src/newlib/libc/stdlib/envlock.c	Wed Aug 23 20:45:02 2000
@@ -9,15 +9,15 @@
 
 ANSI_SYNOPSIS
 	#include "envlock.h"
-	void __env_lock (void *<[reent]>);
-	void __env_unlock (void *<[reent]>);
+	void __env_lock (struct _reent *<[reent]>);
+	void __env_unlock (struct _reent *<[reent]>);
 
 TRAD_SYNOPSIS
 	void __env_lock(<[reent]>)
-	char *<[reent]>;
+	struct _reent *<[reent]>;
 
 	void __env_unlock(<[reent]>)
-	char *<[reent]>;
+	struct _reent *<[reent]>;
 
 DESCRIPTION
 The <<setenv>> family of routines call these functions when they need
@@ -34,6 +34,9 @@
 routines must be careful to avoid causing a thread to wait for a lock
 that it already holds.
 */
+
+#include "envlock.h"
+
 
 void
 __env_lock (ptr)
--- orig/newlib/libc/stdlib/envlock.h	Thu Feb 17 20:39:47 2000
+++ src/newlib/libc/stdlib/envlock.h	Wed Aug 23 20:48:24 2000
@@ -9,4 +9,7 @@
 #define ENV_LOCK __env_lock(reent_ptr)
 #define ENV_UNLOCK __env_unlock(reent_ptr)
 
+void _EXFUN(__env_lock,(struct _reent *reent));
+void _EXFUN(__env_unlock,(struct _reent *reent));
+
 #endif /* _INCLUDE_ENVLOCK_H_ */

-- 
  _________________________________________________________________________
 / Werner Almesberger, ICA, EPFL, CH       werner.almesberger@ica.epfl.ch /
/_IN_N_032__Tel_+41_21_693_6621__Fax_+41_21_693_6610_____________________/

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]