Changeset: edff41c9bffa for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=edff41c9bffa
Modified Files:
        monetdb5/extras/rapi/converters.c.h
        tools/embedded/embeddedr.c
Branch: embedded
Log Message:

some minor code cleanup


diffs (124 lines):

diff --git a/monetdb5/extras/rapi/converters.c.h 
b/monetdb5/extras/rapi/converters.c.h
--- a/monetdb5/extras/rapi/converters.c.h
+++ b/monetdb5/extras/rapi/converters.c.h
@@ -4,6 +4,7 @@
                ctype *valptr = NULL;                               \
                tpe* p = (tpe*) Tloc(bat, BUNfirst(bat));           \
                retsxp = PROTECT(newfun(BATcount(bat)));                    \
+               if (!retsxp) break;                                 \
                valptr = ptrfun(retsxp);                            \
                if (bat->T->nonil && !bat->T->nil) {                \
                        if (memcopy) {                                          
                        \
@@ -34,6 +35,7 @@
        do {                                                                    
                                                        \
                tpe *p, prev = tpe##_nil; size_t j;                             
                                \
                b = BATnew(TYPE_void, TYPE_##tpe, cnt, TRANSIENT);              
                \
+               if (!b) break;                                                  
\
                BATseqbase(b, 0); b->T->nil = 0; b->T->nonil = 1; b->tkey = 0;  
\
                b->tsorted = 1; b->trevsorted = 1;b->tdense = 0;                
                \
                p = (tpe*) Tloc(b, BUNfirst(b));                                
                                \
@@ -61,6 +63,9 @@ static SEXP bat_to_sexp(BAT* b) {
                case TYPE_void: {
                        size_t i = 0;
                        varvalue = PROTECT(NEW_LOGICAL(BATcount(b)));
+                       if (!varvalue) {
+                               return NULL;
+                       }
                        for (i = 0; i < BATcount(b); i++) {
                                LOGICAL_POINTER(varvalue)[i] = NA_LOGICAL;
                        }
@@ -189,6 +194,7 @@ static BAT* sexp_to_bat(SEXP s, int type
                        return NULL;
                }
                b = BATnew(TYPE_void, TYPE_str, cnt, TRANSIENT);
+               if (!b) return NULL;
                BATseqbase(b, 0);
                b->T->nil = 0;
                b->T->nonil = 1;
@@ -222,7 +228,7 @@ static BAT* sexp_to_bat(SEXP s, int type
        }
        }
 
-       if (b != NULL) {
+       if (b) {
                BATsetcount(b, cnt);
                BBPkeepref(b->batCacheid);
        }
diff --git a/tools/embedded/embeddedr.c b/tools/embedded/embeddedr.c
--- a/tools/embedded/embeddedr.c
+++ b/tools/embedded/embeddedr.c
@@ -25,10 +25,10 @@ int embedded_r_rand(void) {
 
 SEXP monetdb_query_R(SEXP connsexp, SEXP query, SEXP notreallys) {
        res_table* output = NULL;
-       char* err = monetdb_query(R_ExternalPtrAddr(connsexp), 
(char*)CHAR(STRING_ELT(query, 0)), (void**)&output);
        char notreally = LOGICAL(notreallys)[0];
-
-       if (err != NULL) { // there was an error
+       char* err = monetdb_query(R_ExternalPtrAddr(connsexp),
+                       (char*)CHAR(STRING_ELT(query, 0)), (void**)&output);
+       if (err) { // there was an error
                return ScalarString(mkCharCE(err, CE_UTF8));
        }
        if (output && output->nr_cols > 0) {
@@ -39,14 +39,13 @@ SEXP monetdb_query_R(SEXP connsexp, SEXP
                SET_ATTR(retlist, install("__rows"),
                        
Rf_ScalarReal(BATcount(BATdescriptor(output->cols[0].b))));
                for (i = 0; i < ncols; i++) {
-                       res_col col = output->cols[i];
-                       BAT* b = BATdescriptor(col.b);
+                       BAT* b = BATdescriptor(output->cols[i].b);
                        if (notreally) {
                                BATsetcount(b, 0); // hehe
                        }
                        SET_STRING_ELT(names, i, mkCharCE(output->cols[i].name, 
CE_UTF8));
                        varvalue = bat_to_sexp(b);
-                       if (varvalue == NULL) {
+                       if (!varvalue) {
                                UNPROTECT(i + 3);
                                return ScalarString(mkCharCE("Conversion 
error", CE_UTF8));
                        }
@@ -71,7 +70,7 @@ SEXP monetdb_startup_R(SEXP dbdirsexp, S
        res = monetdb_startup((char*) CHAR(STRING_ELT(dbdirsexp, 0)),
                LOGICAL(silentsexp)[0], LOGICAL(sequentialsexp)[0]);
 
-       if (res == NULL) {
+       if (!res) {
                return ScalarLogical(1);
        }  else {
                return ScalarString(mkCharCE(res, CE_UTF8));
@@ -106,7 +105,7 @@ SEXP monetdb_append_R(SEXP connsexp, SEX
        }
 
        ad = GDKmalloc(col_ct * sizeof(append_data));
-       assert(ad != NULL);
+       assert(ad);
 
        for (i = 0; i < col_ct; i++) {
                SEXP ret_col = VECTOR_ELT(tabledatasexp, i);
@@ -123,13 +122,13 @@ SEXP monetdb_append_R(SEXP connsexp, SEX
        msg = monetdb_append(R_ExternalPtrAddr(connsexp), schema, name, ad, 
col_ct);
 
        wrapup:
-               if (t_column_names != NULL) {
+               if (t_column_names) {
                        GDKfree(t_column_names);
                }
-               if (t_column_types != NULL) {
+               if (t_column_types) {
                        GDKfree(t_column_types);
                }
-               if (msg == NULL) {
+               if (!msg) {
                        return ScalarLogical(1);
                }
                return ScalarString(mkCharCE(msg, CE_UTF8));
@@ -150,7 +149,7 @@ SEXP monetdb_connect_R(void) {
 
 SEXP monetdb_disconnect_R(SEXP connsexp) {
        void* addr = R_ExternalPtrAddr(connsexp);
-       if (addr != NULL) {
+       if (addr) {
                monetdb_disconnect(addr);
                R_ClearExternalPtr(connsexp);
        }
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to