[tor-commits] [obfsproxy/master] In preparation for importing Tor container.c, switch from bare __attribute__ to ATTR_* macros.

nickm at torproject.org nickm at torproject.org
Fri Sep 9 17:08:56 UTC 2011


commit 94d44dd806b58dde92fdb82dd0c5ae12d649ef80
Author: Zack Weinberg <zackw at panix.com>
Date:   Mon Jul 18 14:15:50 2011 -0700

    In preparation for importing Tor container.c, switch from bare __attribute__ to ATTR_* macros.
---
 src/main.c            |   17 +++++++----------
 src/protocols/dummy.c |    7 +++----
 src/util.c            |    2 +-
 src/util.h            |   21 +++++++++++++--------
 4 files changed, 24 insertions(+), 23 deletions(-)

diff --git a/src/main.c b/src/main.c
index 21c4feb..c48f81a 100644
--- a/src/main.c
+++ b/src/main.c
@@ -2,27 +2,24 @@
    See LICENSE for other credits and copying information
 */
 
-#include <stdlib.h>
+#include "util.h"
+#include "network.h"
+#include "protocol.h"
+
 #include <errno.h>
+#include <signal.h>
 #include <stdio.h>
+#include <stdlib.h>
 #include <string.h>
-#include <signal.h>
 
 #include <event2/event.h>
-#include "network.h"
-#include "util.h"
-#include "protocol.h"
-
-#ifndef __GNUC__
-#define __attribute__(x)
-#endif
 
 /* The character that seperates multiple listeners in the cli */
 #define SEPARATOR "+"
 /* Totally arbitrary. */
 #define MAXPROTOCOLS 20
 
-static void usage(void) __attribute__((noreturn));
+static void usage(void) ATTR_NORETURN;
 static int handle_obfsproxy_args(const char **argv);
 
 static struct event_base *the_event_base=NULL;
diff --git a/src/protocols/dummy.c b/src/protocols/dummy.c
index d82818d..61cdf2b 100644
--- a/src/protocols/dummy.c
+++ b/src/protocols/dummy.c
@@ -116,14 +116,13 @@ dummy_destroy(struct protocol_t *proto)
    The dummy protocol just puts the data of 'source' in 'dest'.
 */
 static int
-dummy_handshake(struct protocol_t *proto __attribute__((unused)),
-                struct evbuffer *buf __attribute__((unused)))
+dummy_handshake(struct protocol_t *proto, struct evbuffer *buf)
 {
   return 0;
 }
 
 static int
-dummy_send(struct protocol_t *proto __attribute__((unused)),
+dummy_send(struct protocol_t *proto,
            struct evbuffer *source, struct evbuffer *dest)
 {
   return evbuffer_add_buffer(dest,source);
@@ -135,7 +134,7 @@ dummy_send(struct protocol_t *proto __attribute__((unused)),
   The dummy protocol just puts the data of 'source' into 'dest'.
 */
 static enum recv_ret
-dummy_recv(struct protocol_t *proto __attribute__((unused)),
+dummy_recv(struct protocol_t *proto,
            struct evbuffer *source, struct evbuffer *dest)
 {
   if (evbuffer_add_buffer(dest,source)<0)
diff --git a/src/util.c b/src/util.c
index 6a0e4a0..ce25375 100644
--- a/src/util.c
+++ b/src/util.c
@@ -25,7 +25,7 @@
 
 /**************************** Memory Allocation ******************************/
 
-static void __attribute__((noreturn))
+static void ATTR_NORETURN
 die_oom(void)
 {
   log_warn("Memory allocation failed: %s",strerror(errno));
diff --git a/src/util.h b/src/util.h
index d909b53..0693930 100644
--- a/src/util.h
+++ b/src/util.h
@@ -11,6 +11,11 @@
 #ifndef __GNUC__
 #define __attribute__(x) /* nothing */
 #endif
+#define ATTR_MALLOC   __attribute__((malloc))
+#define ATTR_NORETURN __attribute__((noreturn))
+#define ATTR_PRINTF_1 __attribute__((format(printf, 1, 2)))
+#define ATTR_PRINTF_3 __attribute__((format(printf, 3, 4)))
+#define ATTR_PURE     __attribute__((pure))
 
 struct sockaddr;
 struct event_base;
@@ -23,11 +28,11 @@ struct evdns_base;
    allocate-memory-or-crash functions "xwhatever". Also, at this time
    I do not see a need for a free() wrapper. */
 
-void *xmalloc(size_t size) __attribute__((malloc)); /* does not clear memory */
-void *xzalloc(size_t size) __attribute__((malloc)); /* clears memory */
+void *xmalloc(size_t size) ATTR_MALLOC; /* does not clear memory */
+void *xzalloc(size_t size) ATTR_MALLOC; /* clears memory */
 void *xrealloc(void *ptr, size_t size);
-void *xmemdup(const void *ptr, size_t size) __attribute__((malloc));
-char *xstrdup(const char *s) __attribute__((malloc));
+void *xmemdup(const void *ptr, size_t size) ATTR_MALLOC;
+char *xstrdup(const char *s) ATTR_MALLOC;
 
 /***** Network functions stuff. *****/
 
@@ -46,7 +51,7 @@ int obfs_vsnprintf(char *str, size_t size,
                    const char *format, va_list args);
 int obfs_snprintf(char *str, size_t size,
                   const char *format, ...)
-  __attribute__((format(printf, 3, 4)));
+  ATTR_PRINTF_3;
 
 /***** Doubly Linked List stuff. *****/
 
@@ -96,16 +101,16 @@ void close_obfsproxy_logfile(void);
 /** Warn-level severity: for messages that only appear when something
     has gone wrong. */
 void log_warn(const char *format, ...)
-  __attribute__((format(printf, 1, 2)));
+  ATTR_PRINTF_1;
 
 /** Info-level severity: for messages that should be sent to the user
     during normal operation. */
 void log_info(const char *format, ...)
-  __attribute__((format(printf, 1, 2)));
+  ATTR_PRINTF_1;
 
 /** Debug-level severity: for hyper-verbose messages of no interest to
     anybody but developers. */
 void log_debug(const char *format, ...)
-  __attribute__((format(printf, 1, 2)));
+  ATTR_PRINTF_1;
 
 #endif





More information about the tor-commits mailing list