Fix sparse warnings and add an extra sprinkling of const.

This is more or less the equivalent of Sven-Haegar Koch's fixes in the 1.1
branch.
This commit is contained in:
Guus Sliepen 2011-05-28 23:36:52 +02:00
parent 07ffb1a198
commit 6d08eb1614
35 changed files with 83 additions and 75 deletions

View file

@ -27,6 +27,8 @@
#include "system.h"
#include "pidfile.h"
#ifndef HAVE_MINGW
/* read_pid
*
@ -34,7 +36,7 @@
* 0 is returned if either there's no pidfile, it's empty
* or no pid can be read.
*/
pid_t read_pid (char *pidfile)
pid_t read_pid (const char *pidfile)
{
FILE *f;
long pid;
@ -53,7 +55,7 @@ pid_t read_pid (char *pidfile)
* table (using /proc) to determine if the process already exists. If
* so the pid is returned, otherwise 0.
*/
pid_t check_pid (char *pidfile)
pid_t check_pid (const char *pidfile)
{
pid_t pid = read_pid(pidfile);
@ -79,7 +81,7 @@ pid_t check_pid (char *pidfile)
* Writes the pid to the specified file. If that fails 0 is
* returned, otherwise the pid.
*/
pid_t write_pid (char *pidfile)
pid_t write_pid (const char *pidfile)
{
FILE *f;
int fd;
@ -124,7 +126,7 @@ pid_t write_pid (char *pidfile)
* Remove the the specified file. The result from unlink(2)
* is returned
*/
int remove_pid (char *pidfile)
int remove_pid (const char *pidfile)
{
return unlink (pidfile);
}

View file

@ -26,7 +26,7 @@
* 0 is returned if either there's no pidfile, it's empty
* or no pid can be read.
*/
pid_t read_pid (char *pidfile);
extern pid_t read_pid (const char *pidfile);
/* check_pid
*
@ -34,19 +34,19 @@ pid_t read_pid (char *pidfile);
* table (using /proc) to determine if the process already exists. If
* so 1 is returned, otherwise 0.
*/
pid_t check_pid (char *pidfile);
extern pid_t check_pid (const char *pidfile);
/* write_pid
*
* Writes the pid to the specified file. If that fails 0 is
* returned, otherwise the pid.
*/
pid_t write_pid (char *pidfile);
extern pid_t write_pid (const char *pidfile);
/* remove_pid
*
* Remove the the specified file. The result from unlink(2)
* is returned
*/
int remove_pid (char *pidfile);
extern int remove_pid (const char *pidfile);
#endif

View file

@ -23,9 +23,9 @@
#include "../src/logger.h"
#include "utils.h"
const char hexadecimals[] = "0123456789ABCDEF";
static const char hexadecimals[] = "0123456789ABCDEF";
int charhex2bin(char c) {
static int charhex2bin(char c) {
if(isdigit(c))
return c - '0';
else
@ -67,7 +67,7 @@ const char *winerror(int err) {
}
#endif
unsigned int bitfield_to_int(void *bitfield, size_t size) {
unsigned int bitfield_to_int(const void *bitfield, size_t size) {
unsigned int value = 0;
if(size > sizeof value)
size = sizeof value;

View file

@ -40,6 +40,6 @@ extern const char *winerror(int);
#define sockinprogress(x) ((x) == EINPROGRESS)
#endif
extern unsigned int bitfield_to_int(void *bitfield, size_t size);
extern unsigned int bitfield_to_int(const void *bitfield, size_t size);
#endif /* __TINC_UTILS_H__ */

View file

@ -16,7 +16,7 @@ extern int xalloc_exit_failure;
extern char *const xalloc_msg_memory_exhausted;
/* FIXME: describe */
extern void (*xalloc_fail_func) ();
extern void (*xalloc_fail_func) (int);
void *xmalloc PARAMS ((size_t n)) __attribute__ ((__malloc__));
void *xmalloc_and_zero PARAMS ((size_t n)) __attribute__ ((__malloc__));

View file

@ -56,7 +56,7 @@ int xalloc_exit_failure = EXIT_FAILURE;
char *const xalloc_msg_memory_exhausted = "Memory exhausted";
/* FIXME: describe */
void (*xalloc_fail_func) (int) = 0;
void (*xalloc_fail_func) (int) = NULL;
static void
xalloc_fail (int size)
@ -70,13 +70,12 @@ xalloc_fail (int size)
/* Allocate N bytes of memory dynamically, with error checking. */
void *
xmalloc (n)
size_t n;
xmalloc (size_t n)
{
void *p;
p = malloc (n);
if (p == 0)
if (p == NULL)
xalloc_fail ((int)n);
return p;
}
@ -84,13 +83,12 @@ xmalloc (n)
/* Allocate N bytes of memory dynamically, and set it all to zero. */
void *
xmalloc_and_zero (n)
size_t n;
xmalloc_and_zero (size_t n)
{
void *p;
p = malloc (n);
if (p == 0)
if (p == NULL)
xalloc_fail ((int)n);
memset (p, '\0', n);
return p;
@ -101,12 +99,10 @@ xmalloc_and_zero (n)
If P is NULL, run xmalloc. */
void *
xrealloc (p, n)
void *p;
size_t n;
xrealloc (void *p, size_t n)
{
p = realloc (p, n);
if (p == 0)
if (p == NULL)
xalloc_fail (n);
return p;
}
@ -134,7 +130,7 @@ xcalloc (n, s)
void *p;
p = calloc (n, s);
if (p == 0)
if (p == NULL)
xalloc_fail ();
return p;
}

View file

@ -22,6 +22,7 @@
#include "system.h"
#include "conf.h"
#include "device.h"
#include "logger.h"
#include "net.h"
#include "route.h"

View file

@ -92,7 +92,7 @@ void config_add(avl_tree_t *config_tree, config_t *cfg) {
avl_insert(config_tree, cfg);
}
config_t *lookup_config(avl_tree_t *config_tree, char *variable) {
config_t *lookup_config(const avl_tree_t *config_tree, char *variable) {
config_t cfg, *found;
cfg.variable = variable;
@ -110,7 +110,7 @@ config_t *lookup_config(avl_tree_t *config_tree, char *variable) {
return found;
}
config_t *lookup_config_next(avl_tree_t *config_tree, const config_t *cfg) {
config_t *lookup_config_next(const avl_tree_t *config_tree, const config_t *cfg) {
avl_node_t *node;
config_t *found;
@ -188,7 +188,7 @@ bool get_config_address(const config_t *cfg, struct addrinfo **result) {
}
bool get_config_subnet(const config_t *cfg, subnet_t ** result) {
subnet_t subnet = {0};
subnet_t subnet = {NULL};
if(!cfg)
return false;
@ -368,7 +368,7 @@ void read_config_options(avl_tree_t *config_tree, const char *prefix) {
}
}
bool read_server_config() {
bool read_server_config(void) {
char *fname;
bool x;

View file

@ -48,8 +48,8 @@ extern void exit_configuration(avl_tree_t **);
extern config_t *new_config(void) __attribute__ ((__malloc__));
extern void free_config(config_t *);
extern void config_add(avl_tree_t *, config_t *);
extern config_t *lookup_config(avl_tree_t *, char *);
extern config_t *lookup_config_next(avl_tree_t *, const config_t *);
extern config_t *lookup_config(const avl_tree_t *, char *);
extern config_t *lookup_config_next(const avl_tree_t *, const config_t *);
extern bool get_config_bool(const config_t *, bool *);
extern bool get_config_int(const config_t *, int *);
extern bool get_config_string(const config_t *, char **);

View file

@ -32,16 +32,16 @@
#define OPTION_CLAMP_MSS 0x0008
typedef struct connection_status_t {
int pinged:1; /* sent ping */
int active:1; /* 1 if active.. */
int connecting:1; /* 1 if we are waiting for a non-blocking connect() to finish */
int termreq:1; /* the termination of this connection was requested */
int remove:1; /* Set to 1 if you want this connection removed */
int timeout:1; /* 1 if gotten timeout */
int encryptout:1; /* 1 if we can encrypt outgoing traffic */
int decryptin:1; /* 1 if we have to decrypt incoming traffic */
int mst:1; /* 1 if this connection is part of a minimum spanning tree */
int unused:23;
unsigned int pinged:1; /* sent ping */
unsigned int active:1; /* 1 if active.. */
unsigned int connecting:1; /* 1 if we are waiting for a non-blocking connect() to finish */
unsigned int termreq:1; /* the termination of this connection was requested */
unsigned int remove:1; /* Set to 1 if you want this connection removed */
unsigned int timeout:1; /* 1 if gotten timeout */
unsigned int encryptout:1; /* 1 if we can encrypt outgoing traffic */
unsigned int decryptin:1; /* 1 if we have to decrypt incoming traffic */
unsigned int mst:1; /* 1 if this connection is part of a minimum spanning tree */
unsigned int unused:23;
} connection_status_t;
#include "edge.h"

View file

@ -24,6 +24,7 @@
#include <w32api/winioctl.h>
#include "conf.h"
#include "device.h"
#include "logger.h"
#include "net.h"
#include "route.h"

View file

@ -19,6 +19,7 @@
#include "system.h"
#include "device.h"
#include "logger.h"
#include "net.h"

View file

@ -28,7 +28,7 @@
avl_tree_t *event_tree;
extern time_t now;
int id;
static int id;
static int event_compare(const event_t *a, const event_t *b) {
if(a->time > b->time)

View file

@ -49,6 +49,7 @@
#include "connection.h"
#include "device.h"
#include "edge.h"
#include "graph.h"
#include "logger.h"
#include "netutl.h"
#include "node.h"
@ -65,7 +66,7 @@ static bool graph_changed = true;
Please note that sorting on weight is already done by add_edge().
*/
void mst_kruskal(void) {
static void mst_kruskal(void) {
avl_node_t *node, *next;
edge_t *e;
node_t *n;
@ -146,7 +147,7 @@ void mst_kruskal(void) {
Running time: O(E)
*/
void sssp_bfs(void) {
static void sssp_bfs(void) {
avl_node_t *node, *next, *to;
edge_t *e;
node_t *n;

View file

@ -22,8 +22,6 @@
#define __TINC_GRAPH_H__
extern void graph(void);
extern void mst_kruskal(void);
extern void sssp_bfs(void);
extern void dump_graph(void);
#endif /* __TINC_GRAPH_H__ */

View file

@ -28,6 +28,7 @@
#endif
#include "conf.h"
#include "device.h"
#include "logger.h"
#include "net.h"
#include "route.h"

View file

@ -24,6 +24,7 @@
#include <winioctl.h>
#include "conf.h"
#include "device.h"
#include "logger.h"
#include "net.h"
#include "route.h"

View file

@ -423,7 +423,7 @@ int main_loop(void) {
}
}
send_key_changed(broadcast, myself);
send_key_changed();
keyexpires = now + keylifetime;
}

View file

@ -121,6 +121,8 @@ extern time_t now;
extern int contradicting_add_edge;
extern int contradicting_del_edge;
extern volatile bool running;
/* Yes, very strange placement indeed, but otherwise the typedefs get all tangled up */
#include "connection.h"
#include "node.h"
@ -133,7 +135,7 @@ extern bool handle_new_meta_connection(int);
extern int setup_listen_socket(const sockaddr_t *);
extern int setup_vpn_in_socket(const sockaddr_t *);
extern void send_packet(const struct node_t *, vpn_packet_t *);
extern void receive_tcppacket(struct connection_t *, char *, int);
extern void receive_tcppacket(struct connection_t *, const char *, int);
extern void broadcast_packet(const struct node_t *, vpn_packet_t *);
extern bool setup_network(void);
extern void setup_outgoing_connection(struct outgoing_t *);
@ -144,7 +146,7 @@ extern void terminate_connection(struct connection_t *, bool);
extern void flush_queue(struct node_t *);
extern bool read_rsa_public_key(struct connection_t *);
extern void send_mtu_probe(struct node_t *);
extern void load_all_subnets();
extern void load_all_subnets(void);
#ifndef HAVE_MINGW
#define closesocket(s) close(s)

View file

@ -365,7 +365,7 @@ static void receive_udppacket(node_t *n, vpn_packet_t *inpkt) {
receive_packet(n, inpkt);
}
void receive_tcppacket(connection_t *c, char *buffer, int len) {
void receive_tcppacket(connection_t *c, const char *buffer, int len) {
vpn_packet_t outpkt;
outpkt.len = len;

View file

@ -144,7 +144,7 @@ bool read_rsa_public_key(connection_t *c) {
return false;
}
bool read_rsa_private_key(void) {
static bool read_rsa_private_key(void) {
FILE *fp;
char *fname, *key, *pubkey;
struct stat s;
@ -267,7 +267,7 @@ void load_all_subnets(void) {
/*
Configure node_t myself and set up the local sockets (listen only)
*/
bool setup_myself(void) {
static bool setup_myself(void) {
config_t *cfg;
subnet_t *subnet;
char *name, *hostname, *mode, *afname, *cipher, *digest;

View file

@ -535,7 +535,7 @@ bool handle_new_meta_connection(int sock) {
return true;
}
void free_outgoing(outgoing_t *outgoing) {
static void free_outgoing(outgoing_t *outgoing) {
if(outgoing->ai)
freeaddrinfo(outgoing->ai);

View file

@ -124,7 +124,7 @@ void node_del(node_t *n) {
}
node_t *lookup_node(char *name) {
node_t n = {0};
node_t n = {NULL};
n.name = name;
@ -132,7 +132,7 @@ node_t *lookup_node(char *name) {
}
node_t *lookup_node_udp(const sockaddr_t *sa) {
node_t n = {0};
node_t n = {NULL};
n.address = *sa;
n.name = NULL;
@ -158,7 +158,7 @@ void update_node_udp(node_t *n, const sockaddr_t *sa) {
ifdebug(PROTOCOL) logger(LOG_DEBUG, "UDP address of %s set to %s", n->name, n->hostname);
} else {
memset(&n->address, 0, sizeof n->address);
n->hostname = 0;
n->hostname = NULL;
ifdebug(PROTOCOL) logger(LOG_DEBUG, "UDP address of %s cleared", n->name);
}
}

View file

@ -28,13 +28,13 @@
#include "subnet.h"
typedef struct node_status_t {
int unused_active:1; /* 1 if active (not used for nodes) */
int validkey:1; /* 1 if we currently have a valid key for him */
int unused_waitingforkey:1; /* 1 if we already sent out a request */
int visited:1; /* 1 if this node has been visited by one of the graph algorithms */
int reachable:1; /* 1 if this node is reachable in the graph */
int indirect:1; /* 1 if this node is not directly reachable by us */
int unused:26;
unsigned int unused_active:1; /* 1 if active (not used for nodes) */
unsigned int validkey:1; /* 1 if we currently have a valid key for him */
unsigned int unused_waitingforkey:1; /* 1 if we already sent out a request */
unsigned int visited:1; /* 1 if this node has been visited by one of the graph algorithms */
unsigned int reachable:1; /* 1 if this node is reachable in the graph */
unsigned int indirect:1; /* 1 if this node is not directly reachable by us */
unsigned int unused:26;
} node_status_t;
typedef struct node_t {

View file

@ -25,6 +25,7 @@
#include "device.h"
#include "edge.h"
#include "logger.h"
#include "net.h"
#include "node.h"
#include "pidfile.h"
#include "process.h"
@ -41,10 +42,9 @@ extern char *identname;
extern char *pidfilename;
extern char **g_argv;
extern bool use_logfile;
extern volatile bool running;
#ifndef HAVE_MINGW
sigset_t emptysigset;
static sigset_t emptysigset;
#endif
static int saved_debug_level = -1;

View file

@ -189,7 +189,7 @@ void exit_requests(void) {
}
bool seen_request(char *request) {
past_request_t *new, p = {0};
past_request_t *new, p = {NULL};
p.request = request;

View file

@ -96,10 +96,10 @@ extern bool send_add_subnet(struct connection_t *, const struct subnet_t *);
extern bool send_del_subnet(struct connection_t *, const struct subnet_t *);
extern bool send_add_edge(struct connection_t *, const struct edge_t *);
extern bool send_del_edge(struct connection_t *, const struct edge_t *);
extern void send_key_changed();
extern void send_key_changed(void);
extern bool send_req_key(struct node_t *);
extern bool send_ans_key(struct node_t *);
extern bool send_tcppacket(struct connection_t *, struct vpn_packet_t *);
extern bool send_tcppacket(struct connection_t *, const struct vpn_packet_t *);
/* Request handlers */

View file

@ -34,9 +34,9 @@
#include "utils.h"
#include "xalloc.h"
bool mykeyused = false;
static bool mykeyused = false;
void send_key_changed() {
void send_key_changed(void) {
avl_node_t *node;
connection_t *c;

View file

@ -119,7 +119,7 @@ bool pong_h(connection_t *c) {
/* Sending and receiving packets via TCP */
bool send_tcppacket(connection_t *c, vpn_packet_t *packet) {
bool send_tcppacket(connection_t *c, const vpn_packet_t *packet) {
/* If there already is a lot of data in the outbuf buffer, discard this packet.
We use a very simple Random Early Drop algorithm. */

View file

@ -45,7 +45,7 @@ bool add_subnet_h(connection_t *c) {
char subnetstr[MAX_STRING_SIZE];
char name[MAX_STRING_SIZE];
node_t *owner;
subnet_t s = {0}, *new, *old;
subnet_t s = {NULL}, *new, *old;
if(sscanf(c->buffer, "%*d %*x " MAX_STRING " " MAX_STRING, name, subnetstr) != 2) {
logger(LOG_ERR, "Got bad %s from %s (%s)", "ADD_SUBNET", c->name,
@ -154,7 +154,7 @@ bool del_subnet_h(connection_t *c) {
char subnetstr[MAX_STRING_SIZE];
char name[MAX_STRING_SIZE];
node_t *owner;
subnet_t s = {0}, *find;
subnet_t s = {NULL}, *find;
if(sscanf(c->buffer, "%*d %*x " MAX_STRING " " MAX_STRING, name, subnetstr) != 2) {
logger(LOG_ERR, "Got bad %s from %s (%s)", "DEL_SUBNET", c->name,

View file

@ -23,6 +23,7 @@
#include <netpacket/packet.h>
#include "conf.h"
#include "device.h"
#include "net.h"
#include "logger.h"
#include "utils.h"

View file

@ -26,6 +26,7 @@
#include <net/if_tun.h>
#include "conf.h"
#include "device.h"
#include "logger.h"
#include "net.h"
#include "utils.h"

View file

@ -52,7 +52,7 @@ static subnet_t *cache_mac_subnet[2];
static bool cache_mac_valid[2];
static int cache_mac_slot;
void subnet_cache_flush() {
void subnet_cache_flush(void) {
cache_ipv4_valid[0] = cache_ipv4_valid[1] = false;
cache_ipv6_valid[0] = cache_ipv6_valid[1] = false;
cache_mac_valid[0] = cache_mac_valid[1] = false;
@ -451,7 +451,7 @@ subnet_t *lookup_subnet_ipv6(const ipv6_t *address) {
void subnet_update(node_t *owner, subnet_t *subnet, bool up) {
avl_node_t *node;
int i;
char *envp[9] = {0};
char *envp[9] = {NULL};
char netstr[MAXNETSTR];
char *name, *address, *port;
char empty[] = "";

View file

@ -23,6 +23,7 @@
#include <sys/un.h>
#include "conf.h"
#include "device.h"
#include "net.h"
#include "logger.h"
#include "utils.h"

View file

@ -22,6 +22,7 @@
#include <libvdeplug_dyn.h>
#include "conf.h"
#include "device.h"
#include "net.h"
#include "logger.h"
#include "utils.h"