Ignore:
File:
1 edited

Legend:

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

    rabf6c01 r88e43bc  
    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
     
    337318                item->val_type = SYSINFO_VAL_VAL;
    338319                item->val.val = val;
    339         } else {
    340                 printf("Could not set sysinfo item %s.\n", name);
    341320        }
    342321
     
    371350                item->val.data.data = data;
    372351                item->val.data.size = size;
    373         } else {
    374                 printf("Could not set sysinfo item %s.\n", name);
    375352        }
    376353
     
    401378                item->val.gen_val.fn = fn;
    402379                item->val.gen_val.data = data;
    403         } else {
    404                 printf("Could not set sysinfo item %s.\n", name);
    405380        }
    406381
     
    436411                item->val.gen_data.fn = fn;
    437412                item->val.gen_data.data = data;
    438         } else {
    439                 printf("Could not set sysinfo item %s.\n", name);
    440413        }
    441414
     
    461434        if (item != NULL)
    462435                item->val_type = SYSINFO_VAL_UNDEFINED;
    463         else
    464                 printf("Could not set sysinfo item %s.\n", name);
    465436
    466437        mutex_unlock(&sysinfo_lock);
     
    495466                item->subtree.generator.fn = fn;
    496467                item->subtree.generator.data = data;
    497         } else {
    498                 printf("Could not set sysinfo item %s.\n", name);
    499468        }
    500469
     
    685654                return ret;
    686655
    687         // TODO: Change this so that allocation is not needed.
    688         char *path = malloc(size + 1);
    689         if (!path)
    690                 return ret;
     656        char *path = (char *) nfmalloc(size + 1);
     657        assert(path);
    691658
    692659        if ((copy_from_uspace(path, ptr, size + 1) == 0) &&
     
    796763                return ret;
    797764
    798         // TODO: Change this so that allocation is not needed.
    799         char *path = malloc(size + 1);
    800         if (!path)
    801                 return ret;
     765        char *path = (char *) nfmalloc(size + 1);
     766        assert(path);
    802767
    803768        if ((copy_from_uspace(path, ptr, size + 1) == 0) &&
Note: See TracChangeset for help on using the changeset viewer.