]> asedeno.scripts.mit.edu Git - PuTTY.git/commitdiff
Fix duplicate definition of typedef 'bufchain'.
authorSimon Tatham <anakin@pobox.com>
Wed, 6 Apr 2016 08:06:19 +0000 (09:06 +0100)
committerSimon Tatham <anakin@pobox.com>
Wed, 6 Apr 2016 09:08:52 +0000 (10:08 +0100)
This was defined in misc.h, and also in network.h (because one
function prototype needed to refer to it in the latter), leading to a
build failure if any source file inconveniently included both those
headers.

Fixed by guarding each copy of the typedef with a #ifdef.

misc.h
network.h

diff --git a/misc.h b/misc.h
index d5999cbedee2f1d723e0fe8755cc6d638791708e..ce927ec5cd1d0c1a5f001485731c6c52dbc84449 100644 (file)
--- a/misc.h
+++ b/misc.h
@@ -59,10 +59,14 @@ void base64_encode_atom(const unsigned char *data, int n, char *out);
 int base64_decode_atom(const char *atom, unsigned char *out);
 
 struct bufchain_granule;
-typedef struct bufchain_tag {
+struct bufchain_tag {
     struct bufchain_granule *head, *tail;
     int buffersize;                   /* current amount of buffered data */
-} bufchain;
+};
+#ifndef BUFCHAIN_TYPEDEF
+typedef struct bufchain_tag bufchain;  /* rest of declaration in misc.c */
+#define BUFCHAIN_TYPEDEF
+#endif
 
 void bufchain_init(bufchain *ch);
 void bufchain_clear(bufchain *ch);
index 10be046feb10a577ac57e2717f37e1df77cc95a5..d58635b6246b0162f52acaf0f6f92524ee309fcd 100644 (file)
--- a/network.h
+++ b/network.h
@@ -229,7 +229,10 @@ Socket new_error_socket(const char *errmsg, Plug plug);
 void backend_socket_log(void *frontend, int type, SockAddr addr, int port,
                         const char *error_msg, int error_code, Conf *conf,
                         int session_started);
+#ifndef BUFCHAIN_TYPEDEF
 typedef struct bufchain_tag bufchain;  /* rest of declaration in misc.c */
+#define BUFCHAIN_TYPEDEF
+#endif
 void log_proxy_stderr(Plug plug, bufchain *buf, const void *vdata, int len);
 
 #endif