X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=osl.c;h=17bddeb5db58b821931bd808f8ab0511ff78b3d9;hb=c2e27a85d7a7b8d4ce734c88f9ff1493b87a5789;hp=66661969e3720193d7f7af4c5295ee02d8db13d5;hpb=b24e3c93a2faa94b138739d1b3e8b631f8123492;p=osl.git diff --git a/osl.c b/osl.c index 6666196..17bddeb 100644 --- a/osl.c +++ b/osl.c @@ -13,7 +13,14 @@ #include "util.h" #include "osl_core.h" -/* Taken from Drepper: How to write shared libraries, Appendix B. */ +/* + * Taken from Drepper: How to write shared libraries, Appendix B. + * + * The main reason for this rather fancy implementation of strerror() is to + * avoid having an array of pointers. This is desirable because initialized + * pointer variables increase the startup time of the library due to the + * processing of relocations. + */ #include #define MSGSTRFIELD(line) MSGSTRFIELD1(line) #define MSGSTRFIELD1(line) str##line @@ -995,12 +1002,13 @@ __export int osl_close_table(struct osl_table *t, enum osl_close_flags flags) int row_is_invalid(struct osl_table *t, uint32_t row_num) { char *row_index; - int i, ret = get_row_index(t, row_num, &row_index); + int ret = get_row_index(t, row_num, &row_index); + unsigned n; if (ret < 0) return ret; - for (i = 0; i < t->row_index_size; i++) { - if ((unsigned char)row_index[i] != 0xff) + for (n = 0; n < t->row_index_size; n++) { + if ((unsigned char)row_index[n] != 0xff) return 0; } INFO_LOG("row %d is invalid\n", row_num); @@ -1039,17 +1047,18 @@ int mark_row_invalid(struct osl_table *t, uint32_t row_num) */ int init_rbtrees(struct osl_table *t) { - int i, ret; + int ret; + unsigned n; const struct osl_column_description *cd; /* create rbtrees */ - FOR_EACH_RBTREE_COLUMN(i, t, cd) - t->columns[i].rbtree = RB_ROOT; + FOR_EACH_RBTREE_COLUMN(n, t, cd) + t->columns[n].rbtree = RB_ROOT; /* add valid rows to rbtrees */ t->num_invalid_rows = 0; - for (i = 0; i < t->num_rows; i++) { + for (n = 0; n < t->num_rows; n++) { struct osl_object *volatile_objs; - ret = row_is_invalid(t, i); + ret = row_is_invalid(t, n); if (ret < 0) return ret; if (ret) { @@ -1063,7 +1072,7 @@ int init_rbtrees(struct osl_table *t) return -E_OSL_NOMEM; } else volatile_objs = NULL; - ret = add_row_to_rbtrees(t, i, volatile_objs, NULL); + ret = add_row_to_rbtrees(t, n, volatile_objs, NULL); if (ret < 0) return ret; }