Author: cliffjansen
Date: Sun Feb  3 04:14:58 2013
New Revision: 1441855

URL: http://svn.apache.org/viewvc?rev=1441855&view=rev
Log:
PROTON-159: C++ support part 1.  See https://reviews.apache.org/r/8223/

Modified:
    qpid/proton/trunk/proton-c/CMakeLists.txt
    qpid/proton/trunk/proton-c/src/buffer.c
    qpid/proton/trunk/proton-c/src/dispatcher/dispatcher.c
    qpid/proton/trunk/proton-c/src/engine/engine.c
    qpid/proton/trunk/proton-c/src/messenger.c
    qpid/proton/trunk/proton-c/src/platform.c
    qpid/proton/trunk/proton-c/src/proton.c
    qpid/proton/trunk/proton-c/src/sasl/sasl.c
    qpid/proton/trunk/proton-c/src/ssl/openssl.c
    qpid/proton/trunk/proton-c/src/util.h

Modified: qpid/proton/trunk/proton-c/CMakeLists.txt
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/CMakeLists.txt?rev=1441855&r1=1441854&r2=1441855&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/CMakeLists.txt (original)
+++ qpid/proton/trunk/proton-c/CMakeLists.txt Sun Feb  3 04:14:58 2013
@@ -187,7 +187,7 @@ if (CMAKE_COMPILER_IS_GNUCC)
   if (ENABLE_WARNING_ERROR)
     set (WERROR "-Werror")
   endif (ENABLE_WARNING_ERROR)
-  set (COMPILE_WARNING_FLAGS "${WERROR} -Wall -pedantic-errors")
+  set (COMPILE_WARNING_FLAGS "${WERROR} -Wall -pedantic-errors -Wc++-compat")
   set (COMPILE_LANGUAGE_FLAGS "-std=c99")
   set (COMPILE_PLATFORM_FLAGS "-std=gnu99")
   if (ENABLE_UNDEFINED_ERROR)

Modified: qpid/proton/trunk/proton-c/src/buffer.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/buffer.c?rev=1441855&r1=1441854&r2=1441855&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/buffer.c (original)
+++ qpid/proton/trunk/proton-c/src/buffer.c Sun Feb  3 04:14:58 2013
@@ -132,7 +132,7 @@ int pn_buffer_ensure(pn_buffer_t *buf, s
   }
 
   if (buf->capacity != old_capacity) {
-    buf->bytes = realloc(buf->bytes, buf->capacity);
+    buf->bytes = (char *) realloc(buf->bytes, buf->capacity);
 
     if (wrapped) {
       size_t n = old_capacity - old_head;

Modified: qpid/proton/trunk/proton-c/src/dispatcher/dispatcher.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/dispatcher/dispatcher.c?rev=1441855&r1=1441854&r2=1441855&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/dispatcher/dispatcher.c (original)
+++ qpid/proton/trunk/proton-c/src/dispatcher/dispatcher.c Sun Feb  3 04:14:58 
2013
@@ -380,7 +380,7 @@ int pn_post_transfer_frame(pn_dispatcher
     while (!(n = pn_write_frame(disp->output + disp->available,
                                 disp->capacity - disp->available, frame))) {
       disp->capacity *= 2;
-      disp->output = realloc(disp->output, disp->capacity);
+      disp->output = (char *) realloc(disp->output, disp->capacity);
     }
     disp->output_frames_ct += 1;
     if (disp->trace & PN_TRACE_RAW) {

Modified: qpid/proton/trunk/proton-c/src/engine/engine.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/engine/engine.c?rev=1441855&r1=1441854&r2=1441855&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/engine/engine.c (original)
+++ qpid/proton/trunk/proton-c/src/engine/engine.c Sun Feb  3 04:14:58 2013
@@ -38,7 +38,7 @@
 void pn_delivery_buffer_init(pn_delivery_buffer_t *db, pn_sequence_t next, 
size_t capacity)
 {
   // XXX: error handling
-  db->deliveries = malloc(sizeof(pn_delivery_state_t) * capacity);
+  db->deliveries = (pn_delivery_state_t *) malloc(sizeof(pn_delivery_state_t) 
* capacity);
   db->next = next;
   db->capacity = capacity;
   db->head = 0;
@@ -250,7 +250,7 @@ void pn_transport_free(pn_transport_t *t
 
 void pn_add_session(pn_connection_t *conn, pn_session_t *ssn)
 {
-  PN_ENSURE(conn->sessions, conn->session_capacity, conn->session_count + 1);
+    PN_ENSURE(conn->sessions, conn->session_capacity, conn->session_count + 1, 
pn_session_t*);
   conn->sessions[conn->session_count++] = ssn;
   ssn->connection = conn;
   ssn->id = conn->session_count;
@@ -312,7 +312,7 @@ void pn_session_set_context(pn_session_t
 
 void pn_add_link(pn_session_t *ssn, pn_link_t *link)
 {
-  PN_ENSURE(ssn->links, ssn->link_capacity, ssn->link_count + 1);
+  PN_ENSURE(ssn->links, ssn->link_capacity, ssn->link_count + 1, pn_link_t*);
   ssn->links[ssn->link_count++] = link;
   link->session = ssn;
   link->id = ssn->link_count;
@@ -800,7 +800,7 @@ void pn_transport_init(pn_transport_t *t
 pn_session_state_t *pn_session_get_state(pn_transport_t *transport, 
pn_session_t *ssn)
 {
   int old_capacity = transport->session_capacity;
-  PN_ENSURE(transport->sessions, transport->session_capacity, ssn->id + 1);
+  PN_ENSURE(transport->sessions, transport->session_capacity, ssn->id + 1, 
pn_session_state_t);
   for (int i = old_capacity; i < transport->session_capacity; i++)
   {
     transport->sessions[i] = (pn_session_state_t) {.session=NULL,
@@ -816,13 +816,13 @@ pn_session_state_t *pn_session_get_state
 
 pn_session_state_t *pn_channel_state(pn_transport_t *transport, uint16_t 
channel)
 {
-  PN_ENSUREZ(transport->channels, transport->channel_capacity, channel + 1);
+  PN_ENSUREZ(transport->channels, transport->channel_capacity, channel + 1, 
pn_session_state_t *);
   return transport->channels[channel];
 }
 
 void pn_map_channel(pn_transport_t *transport, uint16_t channel, 
pn_session_state_t *state)
 {
-  PN_ENSUREZ(transport->channels, transport->channel_capacity, channel + 1);
+  PN_ENSUREZ(transport->channels, transport->channel_capacity, channel + 1, 
pn_session_state_t *);
   state->remote_channel = channel;
   transport->channels[channel] = state;
 }
@@ -1081,7 +1081,7 @@ int pn_terminus_copy(pn_terminus_t *term
 pn_link_state_t *pn_link_get_state(pn_session_state_t *ssn_state, pn_link_t 
*link)
 {
   int old_capacity = ssn_state->link_capacity;
-  PN_ENSURE(ssn_state->links, ssn_state->link_capacity, link->id + 1);
+  PN_ENSURE(ssn_state->links, ssn_state->link_capacity, link->id + 1, 
pn_link_state_t);
   for (int i = old_capacity; i < ssn_state->link_capacity; i++)
   {
     ssn_state->links[i] = (pn_link_state_t) {.link=NULL, .local_handle = -1,
@@ -1094,14 +1094,14 @@ pn_link_state_t *pn_link_get_state(pn_se
 
 void pn_map_handle(pn_session_state_t *ssn_state, uint32_t handle, 
pn_link_state_t *state)
 {
-  PN_ENSUREZ(ssn_state->handles, ssn_state->handle_capacity, handle + 1);
+  PN_ENSUREZ(ssn_state->handles, ssn_state->handle_capacity, handle + 1, 
pn_link_state_t*);
   state->remote_handle = handle;
   ssn_state->handles[handle] = state;
 }
 
 pn_link_state_t *pn_handle_state(pn_session_state_t *ssn_state, uint32_t 
handle)
 {
-  PN_ENSUREZ(ssn_state->handles, ssn_state->handle_capacity, handle + 1);
+  PN_ENSUREZ(ssn_state->handles, ssn_state->handle_capacity, handle + 1, 
pn_link_state_t*);
   return ssn_state->handles[handle];
 }
 
@@ -1693,7 +1693,7 @@ int pn_do_flow(pn_dispatcher_t *disp)
 
 int pn_do_disposition(pn_dispatcher_t *disp)
 {
-  pn_transport_t *transport = disp->context;
+  pn_transport_t *transport = (pn_transport_t *) disp->context;
   bool role;
   pn_sequence_t first, last;
   uint64_t code;

Modified: qpid/proton/trunk/proton-c/src/messenger.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/messenger.c?rev=1441855&r1=1441854&r2=1441855&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/messenger.c (original)
+++ qpid/proton/trunk/proton-c/src/messenger.c Sun Feb  3 04:14:58 2013
@@ -83,7 +83,7 @@ void pn_queue_init(pn_queue_t *queue)
   queue->window = 0;
   queue->lwm = 0;
   queue->hwm = 0;
-  queue->deliveries = calloc(queue->capacity, sizeof(pn_delivery_t *));
+  queue->deliveries = (pn_delivery_t **) calloc(queue->capacity, 
sizeof(pn_delivery_t *));
 }
 
 void pn_queue_tini(pn_queue_t *queue)
@@ -122,13 +122,13 @@ void pn_queue_gc(pn_queue_t *queue)
 
 static void pn_incref(pn_connection_t *conn)
 {
-  pn_connection_ctx_t *ctx = pn_connection_get_context(conn);
+  pn_connection_ctx_t *ctx = (pn_connection_ctx_t *) 
pn_connection_get_context(conn);
   ctx->refcount++;
 }
 
 static void pn_decref(pn_connection_t *conn)
 {
-  pn_connection_ctx_t *ctx = pn_connection_get_context(conn);
+  pn_connection_ctx_t *ctx = (pn_connection_ctx_t *) 
pn_connection_get_context(conn);
   ctx->refcount--;
   if (ctx->refcount == 0) {
     pn_connection_free(conn);
@@ -178,7 +178,7 @@ pn_sequence_t pn_queue_add(pn_queue_t *q
 {
   pn_sequence_t id = queue->hwm++;
   size_t offset = id - queue->lwm;
-  PN_ENSUREZ(queue->deliveries, queue->capacity, offset + 1);
+  PN_ENSUREZ(queue->deliveries, queue->capacity, offset + 1, pn_delivery_t *);
   assert(offset >= 0 && offset < queue->capacity);
   queue->deliveries[offset] = delivery;
   pn_delivery_set_context(delivery, (void *) (intptr_t) id);
@@ -411,7 +411,7 @@ static void pn_transport_config(pn_messe
                                 pn_connector_t *connector,
                                 pn_connection_t *connection)
 {
-  pn_connection_ctx_t *ctx = pn_connection_get_context(connection);
+  pn_connection_ctx_t *ctx = (pn_connection_ctx_t *) 
pn_connection_get_context(connection);
   pn_transport_t *transport = pn_connector_transport(connector);
   if (ctx->scheme && !strcmp(ctx->scheme, "amqps")) {
     pn_ssl_domain_t *d = pn_ssl_domain( PN_SSL_MODE_CLIENT );
@@ -562,7 +562,7 @@ pn_connection_t *pn_messenger_connection
 {
   pn_connection_t *connection = pn_connection();
   if (!connection) return NULL;
-  pn_connection_ctx_t *ctx = malloc(sizeof(pn_connection_ctx_t));
+  pn_connection_ctx_t *ctx = (pn_connection_ctx_t *) 
malloc(sizeof(pn_connection_ctx_t));
   ctx->refcount = 0;
   ctx->scheme = pn_strdup(scheme);
   ctx->user = pn_strdup(user);
@@ -733,7 +733,7 @@ pn_connection_t *pn_messenger_resolve(pn
   pn_connector_t *ctor = pn_connector_head(messenger->driver);
   while (ctor) {
     pn_connection_t *connection = pn_connector_connection(ctor);
-    pn_connection_ctx_t *ctx = pn_connection_get_context(connection);
+    pn_connection_ctx_t *ctx = (pn_connection_ctx_t *) 
pn_connection_get_context(connection);
     if (pn_streq(scheme, ctx->scheme) && pn_streq(user, ctx->user) &&
         pn_streq(pass, ctx->pass) && pn_streq(host, ctx->host) &&
         pn_streq(port, ctx->port)) {
@@ -761,7 +761,7 @@ pn_connection_t *pn_messenger_resolve(pn
 
 pn_subscription_t *pn_subscription(pn_messenger_t *messenger, const char 
*scheme)
 {
-  PN_ENSURE(messenger->subscriptions, messenger->sub_capacity, 
messenger->sub_count + 1);
+  PN_ENSURE(messenger->subscriptions, messenger->sub_capacity, 
messenger->sub_count + 1, pn_subscription_t);
   pn_subscription_t *sub = messenger->subscriptions + messenger->sub_count++;
   sub->scheme = pn_strdup(scheme);
   sub->context = NULL;
@@ -858,7 +858,7 @@ pn_subscription_t *pn_messenger_subscrib
   } else {
     pn_link_t *src = pn_messenger_source(messenger, source);
     if (src) {
-      pn_subscription_t *sub = pn_link_get_context(src);
+      pn_subscription_t *sub = (pn_subscription_t *) pn_link_get_context(src);
       return sub;
     } else {
       pn_error_format(messenger->error, PN_ERR,
@@ -1109,7 +1109,7 @@ int pn_messenger_get(pn_messenger_t *mes
     while (d) {
       if (pn_delivery_readable(d) && !pn_delivery_partial(d)) {
         pn_link_t *l = pn_delivery_link(d);
-        pn_subscription_t *sub = pn_link_get_context(l);
+        pn_subscription_t *sub = (pn_subscription_t *) pn_link_get_context(l);
         size_t pending = pn_delivery_pending(d);
         pn_buffer_t *buf = messenger->buffer;
         int err = pn_buffer_ensure(buf, pending + 1);

Modified: qpid/proton/trunk/proton-c/src/platform.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/platform.c?rev=1441855&r1=1441854&r2=1441855&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/platform.c (original)
+++ qpid/proton/trunk/proton-c/src/platform.c Sun Feb  3 04:14:58 2013
@@ -46,7 +46,7 @@ pn_timestamp_t pn_i_now(void)
 #include <uuid/uuid.h>
 #include <stdlib.h>
 char* pn_i_genuuid(void) {
-    char *generated = malloc(37*sizeof(char));
+    char *generated = (char *) malloc(37*sizeof(char));
     uuid_t uuid;
     uuid_generate(uuid);
     uuid_unparse(uuid, generated);

Modified: qpid/proton/trunk/proton-c/src/proton.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/proton.c?rev=1441855&r1=1441854&r2=1441855&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/proton.c (original)
+++ qpid/proton/trunk/proton-c/src/proton.c Sun Feb  3 04:14:58 2013
@@ -130,7 +130,7 @@ void server_callback(pn_connector_t *cto
   }
 
   pn_connection_t *conn = pn_connector_connection(ctor);
-  struct server_context *ctx = pn_connector_context(ctor);
+  struct server_context *ctx = (struct server_context *) 
pn_connector_context(ctor);
   char tagstr[1024];
   char msg[10*1024];
   char data[ctx->size + 16];

Modified: qpid/proton/trunk/proton-c/src/sasl/sasl.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/sasl/sasl.c?rev=1441855&r1=1441854&r2=1441855&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/sasl/sasl.c (original)
+++ qpid/proton/trunk/proton-c/src/sasl/sasl.c Sun Feb  3 04:14:58 2013
@@ -66,7 +66,7 @@ int pn_do_outcome(pn_dispatcher_t *disp)
 pn_sasl_t *pn_sasl(pn_transport_t *transport)
 {
   if (!transport->sasl) {
-    pn_sasl_t *sasl = malloc(sizeof(pn_sasl_t));
+    pn_sasl_t *sasl = (pn_sasl_t *) malloc(sizeof(pn_sasl_t));
     sasl->disp = pn_dispatcher(1, sasl);
     sasl->disp->batch = false;
 
@@ -375,7 +375,7 @@ int pn_do_mechanisms(pn_dispatcher_t *di
 
 int pn_do_recv(pn_dispatcher_t *disp)
 {
-  pn_sasl_t *sasl = disp->context;
+  pn_sasl_t *sasl = (pn_sasl_t *) disp->context;
   pn_bytes_t recv;
   int err = pn_scan_args(disp, "D.[z]", &recv);
   if (err) return err;
@@ -395,7 +395,7 @@ int pn_do_response(pn_dispatcher_t *disp
 
 int pn_do_outcome(pn_dispatcher_t *disp)
 {
-  pn_sasl_t *sasl = disp->context;
+  pn_sasl_t *sasl = (pn_sasl_t *) disp->context;
   uint8_t outcome;
   int err = pn_scan_args(disp, "D.[B]", &outcome);
   if (err) return err;

Modified: qpid/proton/trunk/proton-c/src/ssl/openssl.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/ssl/openssl.c?rev=1441855&r1=1441854&r2=1441855&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/ssl/openssl.c (original)
+++ qpid/proton/trunk/proton-c/src/ssl/openssl.c Sun Feb  3 04:14:58 2013
@@ -210,7 +210,7 @@ static bool match_dns_pattern( const cha
     const char *cptr;
     int len;
 
-    cptr = memchr( pattern, '.', plen );
+    cptr = (const char *) memchr( pattern, '.', plen );
     len = (cptr) ? cptr - pattern : plen;
     if (len > sizeof(plabel) - 1) return false;
     memcpy( plabel, pattern, len );
@@ -218,7 +218,7 @@ static bool match_dns_pattern( const cha
     pattern = cptr + 1;
     plen -= len;
 
-    cptr = memchr( hostname, '.', slen );
+    cptr = (const char *) memchr( hostname, '.', slen );
     len = (cptr) ? cptr - hostname : slen;
     if (len > sizeof(slabel) - 1) return false;
     memcpy( slabel, hostname, len );
@@ -255,7 +255,7 @@ static int verify_callback(int preverify
     return preverify_ok;
 
   X509 *cert = X509_STORE_CTX_get_current_cert(ctx);
-  SSL *ssn = X509_STORE_CTX_get_ex_data(ctx, 
SSL_get_ex_data_X509_STORE_CTX_idx());
+  SSL *ssn = (SSL *) X509_STORE_CTX_get_ex_data(ctx, 
SSL_get_ex_data_X509_STORE_CTX_idx());
   if (!ssn) {
     _log_error("Error: unexpected error - SSL session info not available for 
peer verify!\n");
     return 0;  // fail connection
@@ -419,7 +419,7 @@ pn_ssl_domain_t *pn_ssl_domain( pn_ssl_m
                                               NULL, NULL, NULL);
   }
 
-  pn_ssl_domain_t *domain = calloc(1, sizeof(pn_ssl_domain_t));
+  pn_ssl_domain_t *domain = (pn_ssl_domain_t *) calloc(1, 
sizeof(pn_ssl_domain_t));
   if (!domain) return NULL;
 
   domain->ref_count = 1;
@@ -712,7 +712,7 @@ pn_ssl_t *pn_ssl(pn_transport_t *transpo
   if (!transport) return NULL;
   if (transport->ssl) return transport->ssl;
 
-  pn_ssl_t *ssl = calloc(1, sizeof(pn_ssl_t));
+  pn_ssl_t *ssl = (pn_ssl_t *) calloc(1, sizeof(pn_ssl_t));
   if (!ssl) return NULL;
   ssl->transport = transport;
   transport->ssl = ssl;

Modified: qpid/proton/trunk/proton-c/src/util.h
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/util.h?rev=1441855&r1=1441854&r2=1441855&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/util.h (original)
+++ qpid/proton/trunk/proton-c/src/util.h Sun Feb  3 04:14:58 2013
@@ -97,18 +97,18 @@ char *pn_strndup(const char *src, size_t
 #define pn_min(X,Y) ((X) > (Y) ? (Y) : (X))
 #define pn_max(X,Y) ((X) < (Y) ? (Y) : (X))
 
-#define PN_ENSURE(ARRAY, CAPACITY, COUNT)                      \
+#define PN_ENSURE(ARRAY, CAPACITY, COUNT, TYPE)                 \
   while ((CAPACITY) < (COUNT)) {                                \
     (CAPACITY) = (CAPACITY) ? 2 * (CAPACITY) : 16;              \
-    (ARRAY) = realloc((ARRAY), (CAPACITY) * sizeof (*(ARRAY))); \
+    (ARRAY) = (TYPE *) realloc((ARRAY), (CAPACITY) * sizeof (TYPE));    \
   }                                                             \
 
-#define PN_ENSUREZ(ARRAY, CAPACITY, COUNT)                \
+#define PN_ENSUREZ(ARRAY, CAPACITY, COUNT, TYPE)           \
   {                                                        \
     size_t _old_capacity = (CAPACITY);                     \
-    PN_ENSURE((ARRAY), (CAPACITY), (COUNT));               \
+    PN_ENSURE(ARRAY, CAPACITY, COUNT, TYPE);               \
     memset((ARRAY) + _old_capacity, 0,                     \
-           sizeof(*(ARRAY))*((CAPACITY) - _old_capacity)); \
+           sizeof(TYPE)*((CAPACITY) - _old_capacity));     \
   }
 
 #endif /* util.h */



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org

Reply via email to