Enable "missing prototypes" warning for gcc, clang

Missing prototypes for exported functions cause a really huge issue on
Windows.  Enabling the "missing prototypes" warning makes it much easier
to catch this problem.  Naturally, any warnings caused by this have been
fixed.

Signed-off-by: Erik Boasson <eb@ilities.com>
This commit is contained in:
Erik Boasson 2019-06-05 11:19:43 +02:00 committed by eboasson
parent a4d8aba4f9
commit 32b683bf37
26 changed files with 92 additions and 304 deletions

View file

@ -24,7 +24,7 @@
#define MAX_SAMPLES 10
#define MAX_DURATION_BUFSZ 21
char *qp_duration_str (char *buf, size_t bufsz, dds_duration_t d)
static char *qp_duration_str (char *buf, size_t bufsz, dds_duration_t d)
{
if (d == DDS_INFINITY)
snprintf (buf, bufsz, "infinite");
@ -33,7 +33,7 @@ char *qp_duration_str (char *buf, size_t bufsz, dds_duration_t d)
return buf;
}
size_t printable_seq_length (const unsigned char *as, size_t n)
static size_t printable_seq_length (const unsigned char *as, size_t n)
{
size_t i;
for (i = 0; i < n; i++) {
@ -43,7 +43,7 @@ size_t printable_seq_length (const unsigned char *as, size_t n)
return i;
}
void print_octetseq (const unsigned char *v, size_t sz, FILE *fp)
static void print_octetseq (const unsigned char *v, size_t sz, FILE *fp)
{
size_t i, n;
fprintf (fp, "%zu<", sz);
@ -69,7 +69,7 @@ void print_octetseq (const unsigned char *v, size_t sz, FILE *fp)
fprintf (fp, ">");
}
void qp_user_data (const dds_qos_t *q, FILE *fp)
static void qp_user_data (const dds_qos_t *q, FILE *fp)
{
void *ud;
size_t udsz;
@ -82,7 +82,7 @@ void qp_user_data (const dds_qos_t *q, FILE *fp)
}
}
void qp_topic_data (const dds_qos_t *q, FILE *fp)
static void qp_topic_data (const dds_qos_t *q, FILE *fp)
{
void *ud;
size_t udsz;
@ -95,7 +95,7 @@ void qp_topic_data (const dds_qos_t *q, FILE *fp)
}
}
void qp_group_data (const dds_qos_t *q, FILE *fp)
static void qp_group_data (const dds_qos_t *q, FILE *fp)
{
void *ud;
size_t udsz;
@ -108,7 +108,7 @@ void qp_group_data (const dds_qos_t *q, FILE *fp)
}
}
void qp_durability (const dds_qos_t *q, FILE *fp)
static void qp_durability (const dds_qos_t *q, FILE *fp)
{
dds_durability_kind_t kind;
if (dds_qget_durability (q, &kind))
@ -125,7 +125,7 @@ void qp_durability (const dds_qos_t *q, FILE *fp)
}
}
void qp_history (const dds_qos_t *q, FILE *fp)
static void qp_history (const dds_qos_t *q, FILE *fp)
{
dds_history_kind_t kind;
int32_t depth;
@ -144,7 +144,7 @@ void qp_history (const dds_qos_t *q, FILE *fp)
}
}
void qp_resource_limits_1 (FILE *fp, int32_t max_samples, int32_t max_instances, int32_t max_samples_per_instance, int indent)
static void qp_resource_limits_1 (FILE *fp, int32_t max_samples, int32_t max_instances, int32_t max_samples_per_instance, int indent)
{
fprintf (fp, "%*.*sresource_limits: max_samples = ", indent, indent, "");
if (max_samples == DDS_LENGTH_UNLIMITED)
@ -163,14 +163,14 @@ void qp_resource_limits_1 (FILE *fp, int32_t max_samples, int32_t max_instances,
fprintf (fp, "%"PRId32"\n", max_samples_per_instance);
}
void qp_resource_limits (const dds_qos_t *q, FILE *fp)
static void qp_resource_limits (const dds_qos_t *q, FILE *fp)
{
int32_t max_samples, max_instances, max_samples_per_instance;
if (dds_qget_resource_limits (q, &max_samples, &max_instances, &max_samples_per_instance))
qp_resource_limits_1 (fp, max_samples, max_instances, max_samples_per_instance, 2);
}
void qp_presentation (const dds_qos_t *q, FILE *fp)
static void qp_presentation (const dds_qos_t *q, FILE *fp)
{
dds_presentation_access_scope_kind_t access_scope;
bool coherent_access, ordered_access;
@ -187,7 +187,7 @@ void qp_presentation (const dds_qos_t *q, FILE *fp)
}
}
void qp_duration_qos (const dds_qos_t *q, FILE *fp, const char *what, bool (*qget) (const dds_qos_t * __restrict qos, dds_duration_t *d))
static void qp_duration_qos (const dds_qos_t *q, FILE *fp, const char *what, bool (*qget) (const dds_qos_t * __restrict qos, dds_duration_t *d))
{
dds_duration_t d;
char buf[MAX_DURATION_BUFSZ];
@ -195,27 +195,27 @@ void qp_duration_qos (const dds_qos_t *q, FILE *fp, const char *what, bool (*qge
fprintf (fp, " %s = %s\n", what, qp_duration_str (buf, sizeof (buf), d));
}
void qp_lifespan (const dds_qos_t *q, FILE *fp)
static void qp_lifespan (const dds_qos_t *q, FILE *fp)
{
qp_duration_qos (q, fp, "lifespan: duration", dds_qget_lifespan);
}
void qp_deadline (const dds_qos_t *q, FILE *fp)
static void qp_deadline (const dds_qos_t *q, FILE *fp)
{
qp_duration_qos (q, fp, "deadline: period", dds_qget_deadline);
}
void qp_latency_budget (const dds_qos_t *q, FILE *fp)
static void qp_latency_budget (const dds_qos_t *q, FILE *fp)
{
qp_duration_qos (q, fp, "latency_budget: duration", dds_qget_latency_budget);
}
void qp_time_based_filter (const dds_qos_t *q, FILE *fp)
static void qp_time_based_filter (const dds_qos_t *q, FILE *fp)
{
qp_duration_qos (q, fp, "time_based_filter: minimum_separation", dds_qget_time_based_filter);
}
void qp_ownership (const dds_qos_t *q, FILE *fp)
static void qp_ownership (const dds_qos_t *q, FILE *fp)
{
dds_ownership_kind_t kind;
char *s = "?";
@ -230,14 +230,14 @@ void qp_ownership (const dds_qos_t *q, FILE *fp)
}
}
void qp_ownership_strength (const dds_qos_t *q, FILE *fp)
static void qp_ownership_strength (const dds_qos_t *q, FILE *fp)
{
int32_t value;
if (dds_qget_ownership_strength (q, &value))
fprintf (fp, " ownership_strength: value = %"PRId32"\n", value);
}
void qp_liveliness (const dds_qos_t *q, FILE *fp)
static void qp_liveliness (const dds_qos_t *q, FILE *fp)
{
dds_liveliness_kind_t kind;
dds_duration_t lease_duration;
@ -255,7 +255,7 @@ void qp_liveliness (const dds_qos_t *q, FILE *fp)
}
}
void qp_reliability (const dds_qos_t *q, FILE *fp)
static void qp_reliability (const dds_qos_t *q, FILE *fp)
{
dds_reliability_kind_t kind;
dds_duration_t max_blocking_time;
@ -272,14 +272,14 @@ void qp_reliability (const dds_qos_t *q, FILE *fp)
}
}
void qp_transport_priority (const dds_qos_t *q, FILE *fp)
static void qp_transport_priority (const dds_qos_t *q, FILE *fp)
{
int32_t value;
if (dds_qget_transport_priority (q, &value))
fprintf (fp, " transport_priority: priority = %"PRId32"\n", value);
}
void qp_destination_order (const dds_qos_t *q, FILE *fp)
static void qp_destination_order (const dds_qos_t *q, FILE *fp)
{
dds_destination_order_kind_t kind;
if (dds_qget_destination_order (q, &kind))
@ -294,14 +294,14 @@ void qp_destination_order (const dds_qos_t *q, FILE *fp)
}
}
void qp_writer_data_lifecycle (const dds_qos_t *q, FILE *fp)
static void qp_writer_data_lifecycle (const dds_qos_t *q, FILE *fp)
{
bool value;
if (dds_qget_writer_data_lifecycle (q, &value))
fprintf (fp, " writer_data_lifecycle: autodispose_unregistered_instances = %s\n", value ? "true" : "false");
}
void qp_reader_data_lifecycle (const dds_qos_t *q, FILE *fp)
static void qp_reader_data_lifecycle (const dds_qos_t *q, FILE *fp)
{
dds_duration_t autopurge_nowriter_samples_delay, autopurge_disposed_samples_delay;
if (dds_qget_reader_data_lifecycle (q, &autopurge_nowriter_samples_delay, &autopurge_disposed_samples_delay))
@ -311,7 +311,7 @@ void qp_reader_data_lifecycle (const dds_qos_t *q, FILE *fp)
}
}
void qp_durability_service (const dds_qos_t *q, FILE *fp)
static void qp_durability_service (const dds_qos_t *q, FILE *fp)
{
dds_duration_t service_cleanup_delay;
dds_history_kind_t history_kind;
@ -335,7 +335,7 @@ void qp_durability_service (const dds_qos_t *q, FILE *fp)
}
}
void qp_partition (const dds_qos_t *q, FILE *fp)
static void qp_partition (const dds_qos_t *q, FILE *fp)
{
uint32_t n;
char **ps;
@ -360,7 +360,7 @@ void qp_partition (const dds_qos_t *q, FILE *fp)
}
}
void qp_qos (const dds_qos_t *q, FILE *fp)
static void qp_qos (const dds_qos_t *q, FILE *fp)
{
qp_reliability (q, fp);
qp_durability (q, fp);
@ -385,7 +385,7 @@ void qp_qos (const dds_qos_t *q, FILE *fp)
qp_group_data (q, fp);
}
void print_key(FILE *fp, const char *label, const dds_builtintopic_guid_t *key)
static void print_key(FILE *fp, const char *label, const dds_builtintopic_guid_t *key)
{
fprintf(fp, "%s", label);
for(size_t j = 0; j < sizeof (key->v); j++) {
@ -422,7 +422,7 @@ void print_dcps_topic (FILE *fp, dds_entity_t pp)
}
#endif
void print_dcps_participant (FILE *fp, dds_entity_t pp)
static void print_dcps_participant (FILE *fp, dds_entity_t pp)
{
dds_entity_t rd = dds_create_reader (pp, DDS_BUILTIN_TOPIC_DCPSPARTICIPANT, NULL, NULL);
(void)dds_reader_wait_for_historical_data (rd, DDS_SECS (5));
@ -448,7 +448,7 @@ void print_dcps_participant (FILE *fp, dds_entity_t pp)
dds_delete (rd);
}
void print_dcps_endpoint (FILE *fp, dds_entity_t pp, const char *type, dds_entity_t topic)
static void print_dcps_endpoint (FILE *fp, dds_entity_t pp, const char *type, dds_entity_t topic)
{
dds_entity_t rd = dds_create_reader (pp, topic, NULL, NULL);
(void)dds_reader_wait_for_historical_data (rd, DDS_SECS (5));
@ -477,12 +477,12 @@ void print_dcps_endpoint (FILE *fp, dds_entity_t pp, const char *type, dds_entit
dds_delete (rd);
}
void print_dcps_subscription (FILE *fp, dds_entity_t pp)
static void print_dcps_subscription (FILE *fp, dds_entity_t pp)
{
print_dcps_endpoint (fp, pp, "SUBSCRIPTION", DDS_BUILTIN_TOPIC_DCPSSUBSCRIPTION);
}
void print_dcps_publication (FILE *fp, dds_entity_t pp)
static void print_dcps_publication (FILE *fp, dds_entity_t pp)
{
print_dcps_endpoint (fp, pp, "PUBLICATION", DDS_BUILTIN_TOPIC_DCPSPUBLICATION);
}
@ -504,7 +504,7 @@ static struct topictab {
};
#define TOPICTAB_SIZE (sizeof(topictab)/sizeof(struct topictab))
void usage (void)
static void usage (void)
{
fprintf (stderr, "Usage: ddsls [OPTIONS] TOPIC... for specified topics\n\n");
fprintf (stderr, " or: ddsls [OPTIONS] -a for all topics\n");

View file

@ -943,7 +943,7 @@ void setqos_from_args(dds_entity_kind_t qt, dds_qos_t *q, int n, const char *arg
#define DDS_ERR_MSG_MAX 128
void dds_fail (const char * msg, const char * where)
static void dds_fail (const char * msg, const char * where)
{
fprintf (stderr, "Aborting Failure: %s %s\n", where, msg);
abort ();

View file

@ -106,9 +106,11 @@ void qos_ownership(dds_entity_kind_t qt, dds_qos_t *q, const char *arg);
void qos_transport_priority(dds_entity_kind_t qt, dds_qos_t *q, const char *arg);
void qos_reliability(dds_entity_kind_t qt, dds_qos_t *q, const char *arg);
void qos_resource_limits(dds_entity_kind_t qt, dds_qos_t *q, const char *arg);
void qos_durability_service(dds_entity_kind_t qt, dds_qos_t *q, const char *arg);
void qos_user_data(dds_entity_kind_t qt, dds_qos_t *q, const char *arg);
void qos_latency_budget(dds_entity_kind_t qt, dds_qos_t *q, const char *arg);
void qos_lifespan(dds_entity_kind_t qt, dds_qos_t *q, const char *arg);
void qos_presentation(dds_entity_kind_t qt, dds_qos_t *q, const char *arg);
void qos_autodispose_unregistered_instances(dds_entity_kind_t qt, dds_qos_t *q, const char *arg);
void set_qosprovider(const char *arg);
void setqos_from_args(dds_entity_kind_t qt, dds_qos_t *q, int n, const char *args[]);