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

Reply via email to