Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/sysinfo/sysinfo.c

    rabf6c01 rbab75df6  
    204204
    205205                *psubtree =
    206                     (sysinfo_item_t *) slab_alloc(sysinfo_item_cache, FRAME_ATOMIC);
    207                 if (!*psubtree)
    208                         return NULL;
     206                    (sysinfo_item_t *) slab_alloc(sysinfo_item_cache, 0);
     207                assert(*psubtree);
    209208
    210209                /* Fill in item name up to the delimiter */
    211210                (*psubtree)->name = str_ndup(name, i);
    212                 if (!(*psubtree)->name) {
    213                         slab_free(sysinfo_item_cache, *psubtree);
    214                         return NULL;
    215                 }
     211                assert((*psubtree)->name);
    216212
    217213                /* Create subtree items */
    218214                if (name[i] == '.') {
    219215                        (*psubtree)->subtree_type = SYSINFO_SUBTREE_TABLE;
    220                         sysinfo_item_t *item = sysinfo_create_path(name + i + 1,
     216                        return sysinfo_create_path(name + i + 1,
    221217                            &((*psubtree)->subtree.table));
    222                         if (!item) {
    223                                 free((*psubtree)->name);
    224                                 slab_free(sysinfo_item_cache, *psubtree);
    225                         }
    226                         return item;
    227218                }
    228219
     
    280271
    281272                        sysinfo_item_t *item =
    282                             (sysinfo_item_t *) slab_alloc(sysinfo_item_cache, FRAME_ATOMIC);
    283                         if (!item)
    284                                 return NULL;
     273                            (sysinfo_item_t *) slab_alloc(sysinfo_item_cache, 0);
     274                        assert(item);
    285275
    286276                        cur->next = item;
     
    288278                        /* Fill in item name up to the delimiter */
    289279                        item->name = str_ndup(name, i);
    290                         if (!item->name) {
    291                                 slab_free(sysinfo_item_cache, item);
    292                                 return NULL;
    293                         }
     280                        assert(item->name);
    294281
    295282                        /* Create subtree items */
    296283                        if (name[i] == '.') {
    297284                                item->subtree_type = SYSINFO_SUBTREE_TABLE;
    298                                 sysinfo_item_t *sub = sysinfo_create_path(
    299                                     name + i + 1, &(item->subtree.table));
    300                                 if (!sub) {
    301                                         free(item->name);
    302                                         slab_free(sysinfo_item_cache, item);
    303                                         return NULL;
    304                                 }
    305                                 return sub;
     285                                return sysinfo_create_path(name + i + 1,
     286                                    &(item->subtree.table));
    306287                        }
    307288
     
    313294        }
    314295
    315         unreachable();
     296        /* Unreachable */
     297        assert(false);
     298        return NULL;
    316299}
    317300
     
    337320                item->val_type = SYSINFO_VAL_VAL;
    338321                item->val.val = val;
    339         } else {
    340                 printf("Could not set sysinfo item %s.\n", name);
    341322        }
    342323
     
    371352                item->val.data.data = data;
    372353                item->val.data.size = size;
    373         } else {
    374                 printf("Could not set sysinfo item %s.\n", name);
    375354        }
    376355
     
    401380                item->val.gen_val.fn = fn;
    402381                item->val.gen_val.data = data;
    403         } else {
    404                 printf("Could not set sysinfo item %s.\n", name);
    405382        }
    406383
     
    436413                item->val.gen_data.fn = fn;
    437414                item->val.gen_data.data = data;
    438         } else {
    439                 printf("Could not set sysinfo item %s.\n", name);
    440415        }
    441416
     
    461436        if (item != NULL)
    462437                item->val_type = SYSINFO_VAL_UNDEFINED;
    463         else
    464                 printf("Could not set sysinfo item %s.\n", name);
    465438
    466439        mutex_unlock(&sysinfo_lock);
     
    495468                item->subtree.generator.fn = fn;
    496469                item->subtree.generator.data = data;
    497         } else {
    498                 printf("Could not set sysinfo item %s.\n", name);
    499470        }
    500471
     
    685656                return ret;
    686657
    687         // TODO: Change this so that allocation is not needed.
    688         char *path = malloc(size + 1);
    689         if (!path)
    690                 return ret;
     658        char *path = (char *) nfmalloc(size + 1);
     659        assert(path);
    691660
    692661        if ((copy_from_uspace(path, ptr, size + 1) == 0) &&
     
    796765                return ret;
    797766
    798         // TODO: Change this so that allocation is not needed.
    799         char *path = malloc(size + 1);
    800         if (!path)
    801                 return ret;
     767        char *path = (char *) nfmalloc(size + 1);
     768        assert(path);
    802769
    803770        if ((copy_from_uspace(path, ptr, size + 1) == 0) &&
Note: See TracChangeset for help on using the changeset viewer.