Changeset 76f382b in mainline for kernel/generic/src/sysinfo/sysinfo.c
- Timestamp:
- 2012-03-02T14:50:42Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 8b9a443
- Parents:
- 560d79f
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/sysinfo/sysinfo.c
r560d79f r76f382b 678 678 root = &global_root; 679 679 680 /* Try to find the item */ 681 sysinfo_item_t *item = sysinfo_find_item(name, *root, NULL, 682 dry_run); 680 sysinfo_item_t *subtree = NULL; 681 682 if (name[0] != 0) { 683 /* Try to find the item */ 684 sysinfo_item_t *item = 685 sysinfo_find_item(name, *root, NULL, dry_run); 686 if ((item != NULL) && 687 (item->subtree_type == SYSINFO_SUBTREE_TABLE)) 688 subtree = item->subtree.table; 689 } else 690 subtree = *root; 683 691 684 692 sysinfo_return_t ret; 685 693 686 if ( (item != NULL) && (item->subtree_type == SYSINFO_SUBTREE_TABLE)) {694 if (subtree != NULL) { 687 695 /* 688 * Subtree found in the fixed sysinfo tree.689 696 * Calculate the size of subkeys. 690 697 */ 691 698 size_t size = 0; 692 for (sysinfo_item_t *cur = item->subtree.table; cur; 693 cur = cur->next) 699 for (sysinfo_item_t *cur = subtree; cur; cur = cur->next) 694 700 size += str_size(cur->name) + 1; 695 701 696 702 if (dry_run) { 697 ret.tag = SYSINFO_VAL_ FUNCTION_DATA;703 ret.tag = SYSINFO_VAL_DATA; 698 704 ret.data.data = NULL; 699 705 ret.data.size = size; … … 705 711 706 712 size_t pos = 0; 707 for (sysinfo_item_t *cur = item->subtree.table; cur; 708 cur = cur->next) { 713 for (sysinfo_item_t *cur = subtree; cur; cur = cur->next) { 709 714 str_cpy(names + pos, size - pos, cur->name); 710 715 pos += str_size(cur->name) + 1; … … 712 717 713 718 /* Correct return value */ 714 ret.tag = SYSINFO_VAL_ FUNCTION_DATA;719 ret.tag = SYSINFO_VAL_DATA; 715 720 ret.data.data = (void *) names; 716 721 ret.data.size = size;
Note:
See TracChangeset
for help on using the changeset viewer.