trivial modifications to pacify gcc -O2 and clang --analyze
Signed-off-by: Erik Boasson <eb@ilities.com>
This commit is contained in:
parent
b70e88c16f
commit
ed06ab8f4b
19 changed files with 106 additions and 116 deletions
|
@ -370,7 +370,8 @@ dds__builtin_write(
|
|||
_In_ nn_wctime_t timestamp,
|
||||
_In_ bool alive)
|
||||
{
|
||||
dds_entity_t topic;
|
||||
/* initialize to avoid compiler warning ultimately caused by C's horrible type system */
|
||||
dds_entity_t topic = 0;
|
||||
switch (type)
|
||||
{
|
||||
case DSBT_PARTICIPANT:
|
||||
|
@ -383,6 +384,7 @@ dds__builtin_write(
|
|||
topic = DDS_BUILTIN_TOPIC_DCPSSUBSCRIPTION;
|
||||
break;
|
||||
}
|
||||
assert(topic != 0);
|
||||
(void)dds__builtin_write_int(topic, guid, timestamp.v, alive);
|
||||
}
|
||||
|
||||
|
|
|
@ -1120,6 +1120,16 @@ dds_triggered(
|
|||
}
|
||||
|
||||
|
||||
static bool in_observer_list_p (const struct dds_entity *observed, const dds_entity_t observer)
|
||||
{
|
||||
dds_entity_observer *cur;
|
||||
for (cur = observed->m_observers; cur != NULL; cur = cur->m_next) {
|
||||
if (cur->m_observer == observer) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
_Check_return_ dds__retcode_t
|
||||
dds_entity_observer_register_nl(
|
||||
|
@ -1127,30 +1137,19 @@ dds_entity_observer_register_nl(
|
|||
_In_ dds_entity_t observer,
|
||||
_In_ dds_entity_callback cb)
|
||||
{
|
||||
dds__retcode_t rc = DDS_RETCODE_OK;
|
||||
dds__retcode_t rc;
|
||||
dds_entity_observer *o = os_malloc(sizeof(dds_entity_observer));
|
||||
assert(observed);
|
||||
o->m_cb = cb;
|
||||
o->m_observer = observer;
|
||||
o->m_next = NULL;
|
||||
os_mutexLock(&observed->m_observers_lock);
|
||||
if (observed->m_observers == NULL) {
|
||||
observed->m_observers = o;
|
||||
if (in_observer_list_p (observed, observer)) {
|
||||
rc = DDS_RETCODE_PRECONDITION_NOT_MET;
|
||||
os_free (o);
|
||||
} else {
|
||||
dds_entity_observer *last;
|
||||
dds_entity_observer *idx = observed->m_observers;
|
||||
while ((idx != NULL) && (o != NULL)) {
|
||||
if (idx->m_observer == observer) {
|
||||
os_free(o);
|
||||
o = NULL;
|
||||
rc = DDS_RETCODE_PRECONDITION_NOT_MET;
|
||||
}
|
||||
last = idx;
|
||||
idx = idx->m_next;
|
||||
}
|
||||
if (o != NULL) {
|
||||
last->m_next = o;
|
||||
}
|
||||
rc = DDS_RETCODE_OK;
|
||||
o->m_next = observed->m_observers;
|
||||
observed->m_observers = o;
|
||||
}
|
||||
os_mutexUnlock(&observed->m_observers_lock);
|
||||
return rc;
|
||||
|
|
|
@ -325,14 +325,12 @@ dds_reader_status_cb(
|
|||
/* There's a deletion or closing going on. */
|
||||
}
|
||||
} else if (rc == DDS_RETCODE_NO_DATA) {
|
||||
/* Nobody was interested through a listener (NO_DATA == NO_CALL): set the status. */
|
||||
/* Nobody was interested through a listener (NO_DATA == NO_CALL): set the status, consider successful. */
|
||||
dds_entity_status_set(entity, data->status);
|
||||
/* Notify possible interested observers. */
|
||||
dds_entity_status_signal(entity);
|
||||
rc = DDS_RETCODE_OK;
|
||||
} else if (rc == DDS_RETCODE_ALREADY_DELETED) {
|
||||
/* An entity up the hierarchy is being deleted. */
|
||||
rc = DDS_RETCODE_OK;
|
||||
/* An entity up the hierarchy is being deleted, consider successful. */
|
||||
} else {
|
||||
/* Something went wrong up the hierarchy. */
|
||||
}
|
||||
|
|
|
@ -367,6 +367,7 @@ static void remove_inst_from_nonempty_list (struct rhc *rhc, struct rhc_instance
|
|||
#ifndef NDEBUG
|
||||
{
|
||||
const struct rhc_instance *x = rhc->nonempty_instances;
|
||||
assert (x);
|
||||
do { if (x == inst) break; x = x->next; } while (x != rhc->nonempty_instances);
|
||||
assert (x == inst);
|
||||
}
|
||||
|
@ -2132,7 +2133,7 @@ void dds_rhc_add_readcondition (dds_readcond * cond)
|
|||
|
||||
DDS_TRACE("add_readcondition(%p, %x, %x, %x) => %p qminv %x ; rhc %u conds\n",
|
||||
(void *) rhc, cond->m_sample_states, cond->m_view_states,
|
||||
cond->m_instance_states, cond, cond->m_qminv, rhc->nconds);
|
||||
cond->m_instance_states, (void *) cond, cond->m_qminv, rhc->nconds);
|
||||
|
||||
os_mutexUnlock (&rhc->conds_lock);
|
||||
os_mutexUnlock (&rhc->lock);
|
||||
|
|
|
@ -130,14 +130,12 @@ dds_topic_status_cb(
|
|||
dds_topic_unlock(topic);
|
||||
}
|
||||
} else if (rc == DDS_RETCODE_NO_DATA) {
|
||||
/* Nobody was interested through a listener (NO_DATA == NO_CALL): set the status. */
|
||||
/* Nobody was interested through a listener (NO_DATA == NO_CALL): set the status; consider it successful. */
|
||||
dds_entity_status_set((dds_entity*)topic, DDS_INCONSISTENT_TOPIC_STATUS);
|
||||
/* Notify possible interested observers. */
|
||||
dds_entity_status_signal((dds_entity*)topic);
|
||||
rc = DDS_RETCODE_OK;
|
||||
} else if (rc == DDS_RETCODE_ALREADY_DELETED) {
|
||||
/* An entity up the hierarchy is being deleted. */
|
||||
rc = DDS_RETCODE_OK;
|
||||
/* An entity up the hierarchy is being deleted; consider it successful. */
|
||||
} else {
|
||||
/* Something went wrong up the hierarchy. */
|
||||
}
|
||||
|
@ -318,7 +316,7 @@ static bool dupdef_qos_ok(const dds_qos_t *qos, const struct ddsi_sertopic *st)
|
|||
|
||||
static bool sertopic_equivalent (const struct ddsi_sertopic *a, const struct ddsi_sertopic *b)
|
||||
{
|
||||
printf ("sertopic_equivalent %p %p (%s %s; %u %u; %p %p; %p %p)\n", a, b, a->name_typename, b->name_typename, a->serdata_basehash, b->serdata_basehash, a->ops, b->ops, a->serdata_ops, b->serdata_ops);
|
||||
printf ("sertopic_equivalent %p %p (%s %s; %u %u; %p %p; %p %p)\n", (void*)a, (void*)b, a->name_typename, b->name_typename, a->serdata_basehash, b->serdata_basehash, (void *)a->ops, (void *)b->ops, (void *)a->serdata_ops, (void *)b->serdata_ops);
|
||||
|
||||
if (strcmp (a->name_typename, b->name_typename) != 0)
|
||||
return false;
|
||||
|
|
|
@ -170,14 +170,12 @@ dds_writer_status_cb(
|
|||
/* There's a deletion or closing going on. */
|
||||
}
|
||||
} else if (rc == DDS_RETCODE_NO_DATA) {
|
||||
/* Nobody was interested through a listener (NO_DATA == NO_CALL): set the status. */
|
||||
/* Nobody was interested through a listener (NO_DATA == NO_CALL): set the status; consider it successful. */
|
||||
dds_entity_status_set(entity, data->status);
|
||||
/* Notify possible interested observers. */
|
||||
dds_entity_status_signal(entity);
|
||||
rc = DDS_RETCODE_OK;
|
||||
} else if (rc == DDS_RETCODE_ALREADY_DELETED) {
|
||||
/* An entity up the hierarchy is being deleted. */
|
||||
rc = DDS_RETCODE_OK;
|
||||
/* An entity up the hierarchy is being deleted; consider it successful. */
|
||||
} else {
|
||||
/* Something went wrong up the hierarchy. */
|
||||
}
|
||||
|
@ -395,12 +393,6 @@ static struct whc *make_whc(const dds_qos_t *qos)
|
|||
} else {
|
||||
tldepth = 0;
|
||||
}
|
||||
if (hdepth == 0 && tldepth == 0)
|
||||
{
|
||||
/* no index at all - so no need to bother with startup mode */
|
||||
startup_mode = 0;
|
||||
}
|
||||
|
||||
return whc_new (handle_as_transient_local, hdepth, tldepth);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue