mirror of
https://github.com/neovim/neovim.git
synced 2025-10-01 07:28:34 +00:00
Refactor: Redefine Map(T)
as a more generic Map(T, U)
macro
To replace `Map(T)`, a new macro `PMap(T)` was defined as `Map(T, ptr_t)` for writing maps that store pointers with less boilerplate
This commit is contained in:
@@ -40,7 +40,7 @@ typedef struct {
|
||||
} socket;
|
||||
} Server;
|
||||
|
||||
static Map(cstr_t) *servers = NULL;
|
||||
static PMap(cstr_t) *servers = NULL;
|
||||
|
||||
static void connection_cb(uv_stream_t *server, int status);
|
||||
static void free_client(uv_handle_t *handle);
|
||||
@@ -48,7 +48,7 @@ static void free_server(uv_handle_t *handle);
|
||||
|
||||
void server_init()
|
||||
{
|
||||
servers = map_new(cstr_t)();
|
||||
servers = pmap_new(cstr_t)();
|
||||
|
||||
if (!os_getenv("NEOVIM_LISTEN_ADDRESS")) {
|
||||
char *listen_address = (char *)vim_tempname('s');
|
||||
@@ -88,7 +88,7 @@ void server_start(char *endpoint)
|
||||
}
|
||||
|
||||
// Check if the server already exists
|
||||
if (map_has(cstr_t)(servers, addr)) {
|
||||
if (pmap_has(cstr_t)(servers, addr)) {
|
||||
EMSG2("Already listening on %s", addr);
|
||||
return;
|
||||
}
|
||||
@@ -172,7 +172,7 @@ void server_start(char *endpoint)
|
||||
server->type = server_type;
|
||||
|
||||
// Add the server to the hash table
|
||||
map_put(cstr_t)(servers, addr, server);
|
||||
pmap_put(cstr_t)(servers, addr, server);
|
||||
}
|
||||
|
||||
void server_stop(char *endpoint)
|
||||
@@ -183,7 +183,7 @@ void server_stop(char *endpoint)
|
||||
// Trim to `ADDRESS_MAX_SIZE`
|
||||
xstrlcpy(addr, endpoint, sizeof(addr));
|
||||
|
||||
if ((server = map_get(cstr_t)(servers, addr)) == NULL) {
|
||||
if ((server = pmap_get(cstr_t)(servers, addr)) == NULL) {
|
||||
EMSG2("Not listening on %s", addr);
|
||||
return;
|
||||
}
|
||||
@@ -194,7 +194,7 @@ void server_stop(char *endpoint)
|
||||
uv_close((uv_handle_t *)&server->socket.pipe.handle, free_server);
|
||||
}
|
||||
|
||||
map_del(cstr_t)(servers, addr);
|
||||
pmap_del(cstr_t)(servers, addr);
|
||||
}
|
||||
|
||||
static void connection_cb(uv_stream_t *server, int status)
|
||||
|
Reference in New Issue
Block a user