浏览代码

jsonrpcc: do not declare variables in header files

- avoid declaration in each .c that includes the .h
Daniel-Constantin Mierla 8 年之前
父节点
当前提交
291649821f

+ 5 - 5
src/modules/janssonrpcc/janssonrpc.h

@@ -31,8 +31,8 @@
 
 #include "../../core/sr_module.h"
 #include "../jansson/jansson_utils.h"
-jansson_to_val_f jsontoval;
-pv_spec_t jsonrpc_result_pv;
+extern jansson_to_val_f jsontoval;
+extern pv_spec_t jsonrpc_result_pv;
 
 #endif
 
@@ -86,10 +86,10 @@ typedef struct retry_range {
 } retry_range_t;
 
 /* globals */
-int cmd_pipe;
+extern int cmd_pipe;
+extern str result_pv_str;
+extern retry_range_t* global_retry_ranges;
 extern const str null_str;
-str result_pv_str;
-retry_range_t* global_retry_ranges;
 
 static inline str pkg_strdup(str src)
 {

+ 4 - 0
src/modules/janssonrpcc/janssonrpc_io.c

@@ -53,6 +53,10 @@
 
 struct tm_binds tmb;
 
+/* event bases */
+struct event_base* global_ev_base = NULL;
+struct evdns_base* global_evdns_base = NULL;
+
 void cmd_pipe_cb(int fd, short event, void *arg);
 void io_shutdown(int sig);
 

+ 2 - 2
src/modules/janssonrpcc/janssonrpc_io.h

@@ -33,8 +33,8 @@
 #include "janssonrpc.h"
 
 /* event bases */
-struct event_base* global_ev_base;
-struct evdns_base* global_evdns_base;
+extern struct event_base* global_ev_base;
+extern struct evdns_base* global_evdns_base;
 
 typedef enum
 { CMD_CONNECT = 1000

+ 3 - 1
src/modules/janssonrpcc/janssonrpc_request.c

@@ -32,7 +32,9 @@
 #include "janssonrpc_request.h"
 #include "janssonrpc_io.h"
 
-int next_id = 1;
+jsonrpc_request_t* request_table[JSONRPC_DEFAULT_HTABLE_SIZE];
+
+static int next_id = 1;
 
 int store_request(jsonrpc_request_t* req);
 

+ 1 - 1
src/modules/janssonrpcc/janssonrpc_request.h

@@ -50,7 +50,7 @@ struct jsonrpc_request {
 	unsigned int timeout;
 };
 
-jsonrpc_request_t* request_table[JSONRPC_DEFAULT_HTABLE_SIZE];
+extern jsonrpc_request_t* request_table[JSONRPC_DEFAULT_HTABLE_SIZE];
 
 jsonrpc_request_t* create_request(jsonrpc_req_cmd_t* cmd);
 void print_request(jsonrpc_request_t* req);

+ 5 - 0
src/modules/janssonrpcc/janssonrpc_server.c

@@ -43,6 +43,11 @@
 #include "janssonrpc_server.h"
 #include "janssonrpc_connect.h"
 
+gen_lock_t* jsonrpc_server_group_lock = NULL;
+
+/* where all the servers are stored */
+jsonrpc_server_group_t** global_server_group = NULL;
+
 /* used for debugging only */
 void print_server(jsonrpc_server_t* server)
 {

+ 3 - 3
src/modules/janssonrpcc/janssonrpc_server.h

@@ -72,7 +72,7 @@ typedef struct jsonrpc_server_group {
 	struct jsonrpc_server_group* next;
 } jsonrpc_server_group_t;
 
-gen_lock_t* jsonrpc_server_group_lock;
+extern gen_lock_t* jsonrpc_server_group_lock;
 
 typedef struct server_list {
 	jsonrpc_server_t* server;
@@ -80,9 +80,9 @@ typedef struct server_list {
 } server_list_t;
 
 /* where all the servers are stored */
-jsonrpc_server_group_t** global_server_group;
+extern jsonrpc_server_group_t** global_server_group;
 
-int  jsonrpc_parse_server(char *_server, jsonrpc_server_group_t** group_ptr);
+int jsonrpc_parse_server(char *_server, jsonrpc_server_group_t** group_ptr);
 int jsonrpc_server_from_srv(str conn, str srv,
 		unsigned int hwm, jsonrpc_server_group_t** group_ptr);
 

+ 4 - 0
src/modules/janssonrpcc/janssonrpc_srv.c

@@ -42,6 +42,10 @@
 #include "janssonrpc_io.h"
 #include "janssonrpc_server.h"
 
+jsonrpc_srv_t* global_srv_list = NULL;
+
+unsigned int jsonrpc_min_srv_ttl;
+
 int refresh_srv(jsonrpc_srv_t* srv_obj)
 {
 	DEBUG("Refreshing SRV for %.*s\n", STR(srv_obj->srv));

+ 2 - 2
src/modules/janssonrpcc/janssonrpc_srv.h

@@ -38,9 +38,9 @@ typedef struct srv_cb_params {
 	unsigned int srv_ttl;
 } srv_cb_params_t;
 
-jsonrpc_srv_t* global_srv_list;
+extern jsonrpc_srv_t* global_srv_list;
 
-unsigned int jsonrpc_min_srv_ttl;
+extern unsigned int jsonrpc_min_srv_ttl;
 
 jsonrpc_srv_t* create_srv(str srv, str conn, unsigned int ttl);
 void addto_srv_list(jsonrpc_srv_t* srv, jsonrpc_srv_t** list);

+ 9 - 0
src/modules/janssonrpcc/janssonrpcc_mod.c

@@ -61,6 +61,15 @@ int  pipe_fds[2] = {-1,-1};
 
 struct tm_binds tmb;
 
+/* globals */
+int cmd_pipe;
+str result_pv_str;
+retry_range_t* global_retry_ranges;
+#ifndef TEST
+jansson_to_val_f jsontoval;
+pv_spec_t jsonrpc_result_pv;
+#endif
+
 /*
  * Exported Functions
  */

+ 1 - 1
src/modules/json/json_mod.c

@@ -36,7 +36,7 @@ static int fixup_get_field_free(void** param, int param_no);
 
 /* Exported functions */
 static cmd_export_t cmds[]={
-	{"json_get_field", (cmd_function)json_get_field, 3, 
+	{"json_get_field", (cmd_function)json_get_field, 3,
 		fixup_get_field, fixup_get_field_free, ANY_ROUTE},
 	{0, 0, 0, 0, 0, 0}
 };