From b9665cff53c8f3a6228e57d40277c015839bf377 Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Thu, 11 Jun 2009 22:35:54 +0200 Subject: [PATCH] Replace ERRNO_TO_ERROR(ENOMEM) by E_OSL_NOMEM. osl calls should only return osl error codes. Therefore, ERRNO_TO_ERROR() must die. This is a first step to get rid of this macro. --- errlist | 1 + osl.c | 58 ++++++++++++++++++++++++++++----------------------------- 2 files changed, 30 insertions(+), 29 deletions(-) diff --git a/errlist b/errlist index 9538aff..dfd9f6f 100644 --- a/errlist +++ b/errlist @@ -32,3 +32,4 @@ BAD_ROW "invalid row" EMPTY "file empty" MMAP "mmap error" LOOP "loop terminated" +NOMEM "cannot allocate memory" diff --git a/osl.c b/osl.c index 50f6398..295c88e 100644 --- a/osl.c +++ b/osl.c @@ -181,7 +181,7 @@ static int disk_storage_name_of_row(const struct osl_table *t, *name = disk_storage_name_of_object(t, &obj); if (*name) return 1; - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; } static void column_name_hash(const char *col_name, HASH_TYPE *hash) @@ -250,7 +250,7 @@ int init_table_structure(const struct osl_table_description *desc, { const struct osl_column_description *cd; struct osl_table *t = calloc(1, sizeof(*t)); - int i, ret = -ERRNO_TO_ERROR(ENOMEM), have_disk_storage_name_column = 0; + int i, ret = -E_OSL_NOMEM, have_disk_storage_name_column = 0; if (!t) return ret; @@ -265,7 +265,7 @@ int init_table_structure(const struct osl_table_description *desc, ret = -E_OSL_NO_COLUMNS; if (!desc->num_columns) goto err; - ret = -ERRNO_TO_ERROR(ENOMEM); + ret = -E_OSL_NOMEM; t->columns = calloc(desc->num_columns, sizeof(struct osl_column)); if (!t->columns) goto err; @@ -368,7 +368,7 @@ int read_table_desc(struct osl_object *map, struct osl_table_description *desc) desc->column_descriptions = calloc(desc->num_columns, sizeof(struct osl_column_description)); if (!desc->column_descriptions) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; offset = IDX_COLUMN_DESCRIPTIONS; FOR_EACH_COLUMN(i, desc, cd) { char *null_byte; @@ -388,7 +388,7 @@ int read_table_desc(struct osl_object *map, struct osl_table_description *desc) ret = -E_OSL_INDEX_CORRUPTION; if (!null_byte) goto err; - ret = -ERRNO_TO_ERROR(ENOMEM); + ret = -E_OSL_NOMEM; cd->name = strdup(buf + offset + IDX_CD_NAME); if (!cd->name) goto err; @@ -431,7 +431,7 @@ static int compare_table_descriptions(struct osl_table *t) struct osl_column_description *cd; unsigned diff = t->desc->num_columns - desc.num_columns; INFO_LOG("extending table by %u volatile columns\n", diff); - ret = -ERRNO_TO_ERROR(ENOMEM); + ret = -E_OSL_NOMEM; desc.column_descriptions = realloc(desc.column_descriptions, t->desc->num_columns * sizeof(struct osl_column_description)); if (!desc.column_descriptions) @@ -486,7 +486,7 @@ static int create_table_index(struct osl_table *t) t->desc->name); buf = calloc(1, size); if (!buf) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; sprintf(buf + IDX_PARA_MAGIC, "%s", PARA_MAGIC); write_u8(buf + IDX_TABLE_FLAGS, t->desc->flags); write_u8(buf + IDX_DIRTY_FLAG, 0); @@ -513,7 +513,7 @@ static int create_table_index(struct osl_table *t) if (filename) ret = write_file(filename, buf, size); else - ret = -ERRNO_TO_ERROR(ENOMEM); + ret = -E_OSL_NOMEM; free(buf); free(filename); return ret; @@ -538,14 +538,14 @@ __export int osl_create_table(const struct osl_table_description *desc) goto out; table_dir = make_message("%s/%s", desc->dir, desc->name); - ret = -ERRNO_TO_ERROR(ENOMEM); + ret = -E_OSL_NOMEM; if (!table_dir) goto out; ret = osl_mkdir(table_dir, 0777); if (ret < 0) goto out; } - ret = -ERRNO_TO_ERROR(ENOMEM); + ret = -E_OSL_NOMEM; filename = column_filename(t, i); if (!filename) goto out; @@ -649,7 +649,7 @@ static int map_column(struct osl_table *t, unsigned col_num) int ret; if (!filename) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; ret = osl_stat(filename, &statbuf); if (ret < 0) { free(filename); @@ -690,7 +690,7 @@ int map_table(struct osl_table *t, enum map_table_flags flags) return -E_OSL_ALREADY_MAPPED; filename = index_filename(t->desc); if (!filename) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; INFO_LOG("mapping table '%s' (index: %s)\n", t->desc->name, filename); ret = mmap_full_file(filename, flags & MAP_TBL_FL_MAP_RDONLY? O_RDONLY : O_RDWR, &t->index_map.data, &t->index_map.size, NULL); @@ -864,7 +864,7 @@ static int add_row_to_rbtrees(struct osl_table *t, uint32_t row_num, const struct osl_column_description *cd; if (!row) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; row->num = row_num; row->volatile_objects = volatile_objs; FOR_EACH_RBTREE_COLUMN(i, t, cd) { @@ -1066,7 +1066,7 @@ __export int osl_open_table(const struct osl_table_description *table_desc, struct stat statbuf; char *dirname = column_filename(t, i); - ret = -ERRNO_TO_ERROR(ENOMEM); + ret = -E_OSL_NOMEM; if (!dirname) goto err; /* check if directory exists */ @@ -1108,7 +1108,7 @@ static int create_disk_storage_object_dir(const struct osl_table *t, return 1; dirname = disk_storage_dirname(t, col_num, ds_name); if (!dirname) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; ret = osl_mkdir(dirname, 0777); free(dirname); if (ret < 0 && !is_errno(-ret, EEXIST)) @@ -1127,7 +1127,7 @@ static int write_disk_storage_file(const struct osl_table *t, unsigned col_num, return ret; filename = disk_storage_path(t, col_num, ds_name); if (!filename) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; ret = write_file(filename, obj->data, obj->size); free(filename); return ret; @@ -1140,7 +1140,7 @@ static int append_map_file(const struct osl_table *t, unsigned col_num, int ret; if (!filename) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; ret = append_file(filename, obj->data, obj->size, new_size); free(filename); return ret; @@ -1155,7 +1155,7 @@ static int append_row_index(const struct osl_table *t, char *row_index) return 1; filename = index_filename(t->desc); if (!filename) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; ret = append_file(filename, row_index, t->row_index_size, NULL); free(filename); return ret; @@ -1168,7 +1168,7 @@ static int truncate_mapped_file(const struct osl_table *t, unsigned col_num, char *filename = column_filename(t, col_num); if (!filename) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; ret = truncate_file(filename, size); free(filename); return ret; @@ -1181,7 +1181,7 @@ static int delete_disk_storage_file(const struct osl_table *t, unsigned col_num, int ret, err; if (!filename) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; ret = unlink(filename); err = errno; free(filename); @@ -1191,7 +1191,7 @@ static int delete_disk_storage_file(const struct osl_table *t, unsigned col_num, return 1; dirname = disk_storage_dirname(t, col_num, ds_name); if (!dirname) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; rmdir(dirname); free(dirname); return 1; @@ -1211,18 +1211,18 @@ __export int osl_add_and_get_row(struct osl_table *t, struct osl_object *objects return -E_OSL_BAD_TABLE; rb_parents = malloc(t->num_rbtrees * sizeof(struct rn_node*)); if (!rb_parents) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; rb_links = malloc(t->num_rbtrees * sizeof(struct rn_node**)); if (!rb_links) { free(rb_parents); - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; } if (t->num_mapped_columns) { new_row_index = malloc(t->row_index_size); if (!new_row_index) { free(rb_links); free(rb_parents); - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; } } /* pass 1: sanity checks */ @@ -1258,7 +1258,7 @@ __export int osl_add_and_get_row(struct osl_table *t, struct osl_object *objects if (t->num_disk_storage_columns) { ds_name = disk_storage_name_of_object(t, &objects[t->disk_storage_name_column]); - ret = -ERRNO_TO_ERROR(ENOMEM); + ret = -E_OSL_NOMEM; if (!ds_name) goto out; } @@ -1301,7 +1301,7 @@ __export int osl_add_and_get_row(struct osl_table *t, struct osl_object *objects } /* pass 3: add entry to rbtrees */ if (t->num_volatile_columns) { - ret = -ERRNO_TO_ERROR(ENOMEM); + ret = -E_OSL_NOMEM; volatile_objs = calloc(t->num_volatile_columns, sizeof(struct osl_object)); if (!volatile_objs) @@ -1505,7 +1505,7 @@ static int rename_disk_storage_objects(struct osl_table *t, return 1; /* object did not change */ old_ds_name = disk_storage_name_of_object(t, old_obj); new_ds_name = disk_storage_name_of_object(t, new_obj); - ret = -ERRNO_TO_ERROR(ENOMEM); + ret = -E_OSL_NOMEM; if (!old_ds_name || ! new_ds_name) goto out; @@ -1517,7 +1517,7 @@ static int rename_disk_storage_objects(struct osl_table *t, old_filename = disk_storage_path(t, i, old_ds_name); new_filename = disk_storage_path(t, i, new_ds_name); if (!old_filename || !new_filename) - ret = -ERRNO_TO_ERROR(ENOMEM); + ret = -E_OSL_NOMEM; else ret = osl_rename(old_filename, new_filename); free(old_filename); @@ -1633,7 +1633,7 @@ __export int osl_open_disk_object(const struct osl_table *t, const struct osl_ro filename = disk_storage_path(t, col_num, ds_name); free(ds_name); if (!filename) - return -ERRNO_TO_ERROR(ENOMEM); + return -E_OSL_NOMEM; DEBUG_LOG("filename: %s\n", filename); ret = mmap_full_file(filename, O_RDONLY, &obj->data, &obj->size, NULL); free(filename); -- 2.30.2