projects
/
platform
/
upstream
/
bash.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Imported from ../bash-2.05.tar.gz.
[platform/upstream/bash.git]
/
unwind_prot.h
diff --git
a/unwind_prot.h
b/unwind_prot.h
index
a321f0e
..
8814fde
100644
(file)
--- a/
unwind_prot.h
+++ b/
unwind_prot.h
@@
-29,6
+29,7
@@
extern void add_unwind_protect ();
extern void remove_unwind_protect ();
extern void run_unwind_protects ();
extern void unwind_protect_var ();
extern void remove_unwind_protect ();
extern void run_unwind_protects ();
extern void unwind_protect_var ();
+extern void clear_unwind_protect_list ();
/* Try to force correct alignment on machines where pointers and ints
differ in size. */
/* Try to force correct alignment on machines where pointers and ints
differ in size. */
@@
-55,7
+56,9
@@
typedef union {
/* How to protect a pointer to a string. */
#define unwind_protect_string(X) \
/* How to protect a pointer to a string. */
#define unwind_protect_string(X) \
- unwind_protect_var ((int *)&(X), (X), sizeof (char *))
+ unwind_protect_var ((int *)&(X), \
+ ((sizeof (char *) == sizeof (int)) ? (char *) (X) : (char *) &(X)), \
+ sizeof (char *))
/* How to protect any old pointer. */
#define unwind_protect_pointer(X) unwind_protect_string (X)
/* How to protect any old pointer. */
#define unwind_protect_pointer(X) unwind_protect_string (X)