Changeset: bbbf1ebf316f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/bbbf1ebf316f Modified Files: sql/server/rel_proto_loader.c sql/server/rel_proto_loader.h Branch: odbc_loader Log Message:
Reorder code (place pl_find before pl_register and pl_unregister). Added const to the char * name argument. diffs (95 lines): diff --git a/sql/server/rel_proto_loader.c b/sql/server/rel_proto_loader.c --- a/sql/server/rel_proto_loader.c +++ b/sql/server/rel_proto_loader.c @@ -16,27 +16,20 @@ #define NR_PROTO_LOADERS 255 static proto_loader_t proto_loaders[NR_PROTO_LOADERS] = { 0 }; -void -pl_exit(void) +proto_loader_t* +pl_find(const char *name) { + if (!name) + return NULL; for (int i = 0; i < NR_PROTO_LOADERS; i++) { - if (proto_loaders[i].name) - GDKfree(proto_loaders[i].name); + if (proto_loaders[i].name && strcmp(proto_loaders[i].name, name) == 0) + return proto_loaders+i; } -} - -void -pl_unregister(char *name) -{ - proto_loader_t *fl = pl_find(name); - if (fl) { - GDKfree(fl->name); - fl->name = NULL; - } + return NULL; } int -pl_register(char *name, pl_add_types_fptr add_types, pl_load_fptr load) +pl_register(const char *name, pl_add_types_fptr add_types, pl_load_fptr load) { proto_loader_t *fl = pl_find(name); if (fl) { @@ -58,14 +51,21 @@ pl_register(char *name, pl_add_types_fpt return -1; /* could not register proto_loader */ } -proto_loader_t* -pl_find(char *name) +void +pl_unregister(const char *name) { - if (!name) - return NULL; + proto_loader_t *fl = pl_find(name); + if (fl) { + GDKfree(fl->name); + fl->name = NULL; + } +} + +void +pl_exit(void) +{ for (int i = 0; i < NR_PROTO_LOADERS; i++) { - if (proto_loaders[i].name && strcmp(proto_loaders[i].name, name) == 0) - return proto_loaders+i; + if (proto_loaders[i].name) + GDKfree(proto_loaders[i].name); } - return NULL; } diff --git a/sql/server/rel_proto_loader.h b/sql/server/rel_proto_loader.h --- a/sql/server/rel_proto_loader.h +++ b/sql/server/rel_proto_loader.h @@ -17,8 +17,7 @@ #include "sql_mvc.h" typedef str (*pl_add_types_fptr)(mvc *sql, sql_subfunc *f, char *url, list *res_exps, char *name); -typedef void *(*pl_load_fptr)(void *be, sql_subfunc *f, char *url, sql_exp *topn); /* use void * as both return type and be - argument are unknown types at this layer */ +typedef void *(*pl_load_fptr)(void *be, sql_subfunc *f, char *url, sql_exp *topn); /* use void * as both return type and be argument are unknown types at this layer */ typedef struct proto_loader_t { char *name; @@ -26,10 +25,10 @@ typedef struct proto_loader_t { pl_load_fptr load; } proto_loader_t; -sql_export int pl_register(char *name, pl_add_types_fptr add_types, pl_load_fptr pl_load); -sql_export void pl_unregister(char *name); -extern proto_loader_t* pl_find(char *name); +sql_export int pl_register(const char *name, pl_add_types_fptr add_types, pl_load_fptr pl_load); +sql_export void pl_unregister(const char *name); +extern proto_loader_t* pl_find(const char *name); extern void pl_exit(void); #endif /*_REL_PROTO_LOADER_H_*/ _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org