Subversion Repositories HelenOS

Rev

Rev 3672 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3672 Rev 3796
Line 80... Line 80...
80
static void ofw_tree_node_process(ofw_tree_node_t *current_node,
80
static void ofw_tree_node_process(ofw_tree_node_t *current_node,
81
    ofw_tree_node_t *parent_node, phandle current)
81
    ofw_tree_node_t *parent_node, phandle current)
82
{
82
{
83
    static char path[MAX_PATH_LEN+1];
83
    static char path[MAX_PATH_LEN+1];
84
    static char name[OFW_TREE_PROPERTY_MAX_NAMELEN];
84
    static char name[OFW_TREE_PROPERTY_MAX_NAMELEN];
-
 
85
    static char name2[OFW_TREE_PROPERTY_MAX_NAMELEN];
85
    phandle peer;
86
    phandle peer;
86
    phandle child;
87
    phandle child;
87
    size_t len;
88
    size_t len;
88
    int i;
89
    int i;
89
 
90
 
Line 137... Line 138...
137
   
138
   
138
        /*
139
        /*
139
         * Count properties.
140
         * Count properties.
140
         */
141
         */
141
        name[0] = '\0';
142
        name[0] = '\0';
142
        while (ofw_next_property(current, name, name) == 1)
143
        while (ofw_next_property(current, name, name2) == 1) {
143
            current_node->properties++;
144
            current_node->properties++;
-
 
145
            memcpy(name, name2, OFW_TREE_PROPERTY_MAX_NAMELEN);
-
 
146
        }
144
   
147
 
145
        if (!current_node->properties)
148
        if (!current_node->properties)
146
            return;
149
            return;
147
   
150
   
148
        /*
151
        /*
149
         * Copy properties.
152
         * Copy properties.
Line 151... Line 154...
151
        current_node->property = ofw_tree_properties_alloc(current_node->properties);
154
        current_node->property = ofw_tree_properties_alloc(current_node->properties);
152
        if (!current_node->property)
155
        if (!current_node->property)
153
            return;
156
            return;
154
       
157
       
155
        name[0] = '\0';
158
        name[0] = '\0';
156
        for (i = 0; ofw_next_property(current, name, name) == 1; i++) {
159
        for (i = 0; ofw_next_property(current, name, name2) == 1; i++) {
157
            size_t size;
160
            size_t size;
158
       
161
       
159
            if (i == current_node->properties)
162
            if (i == current_node->properties)
160
                break;
163
                break;
161
       
164
       
-
 
165
            memcpy(name, name2, OFW_TREE_PROPERTY_MAX_NAMELEN);
162
            memcpy(current_node->property[i].name, name,
166
            memcpy(current_node->property[i].name, name,
163
                OFW_TREE_PROPERTY_MAX_NAMELEN);
167
                OFW_TREE_PROPERTY_MAX_NAMELEN);
164
            current_node->property[i].name[OFW_TREE_PROPERTY_MAX_NAMELEN] = '\0';
168
            current_node->property[i].name[OFW_TREE_PROPERTY_MAX_NAMELEN] = '\0';
165
 
169
 
166
            size = ofw_get_proplen(current, name);
170
            size = ofw_get_proplen(current, name);