Subversion Repositories HelenOS

Rev

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

Rev 3424 Rev 3425
Line 279... Line 279...
279
            ret.val = ((sysinfo_val_fn_t) (item->val.fn)) (item);
279
            ret.val = ((sysinfo_val_fn_t) (item->val.fn)) (item);
280
    }
280
    }
281
    return ret;
281
    return ret;
282
}
282
}
283
 
283
 
-
 
284
#define SYSINFO_MAX_LEN 1024
-
 
285
 
284
unative_t sys_sysinfo_valid(unative_t ptr, unative_t len)
286
unative_t sys_sysinfo_valid(unative_t ptr, unative_t len)
285
{
287
{
286
    char *str;
288
    char *str;
287
    sysinfo_rettype_t ret = {0, 0};
289
    sysinfo_rettype_t ret = {0, 0};
-
 
290
 
-
 
291
    if (len > SYSINFO_MAX_LEN)
-
 
292
        return ret.valid;
288
    str = malloc(len + 1, 0);
293
    str = malloc(len + 1, 0);
289
   
294
   
290
    ASSERT(str);
295
    ASSERT(str);
291
    if (!((copy_from_uspace(str, (void *) ptr, len + 1)) || (str[len])))
296
    if (!((copy_from_uspace(str, (void *) ptr, len + 1)) || (str[len])))
292
        ret = sysinfo_get_val(str, NULL);
297
        ret = sysinfo_get_val(str, NULL);
Line 297... Line 302...
297
 
302
 
298
unative_t sys_sysinfo_value(unative_t ptr, unative_t len)
303
unative_t sys_sysinfo_value(unative_t ptr, unative_t len)
299
{
304
{
300
    char *str;
305
    char *str;
301
    sysinfo_rettype_t ret = {0, 0};
306
    sysinfo_rettype_t ret = {0, 0};
-
 
307
   
-
 
308
    if (len > SYSINFO_MAX_LEN)
-
 
309
        return ret.val;
302
    str = malloc(len + 1, 0);
310
    str = malloc(len + 1, 0);
303
   
311
   
304
    ASSERT(str);
312
    ASSERT(str);
305
    if (!((copy_from_uspace(str, (void *) ptr, len + 1)) || (str[len])))
313
    if (!((copy_from_uspace(str, (void *) ptr, len + 1)) || (str[len])))
306
        ret = sysinfo_get_val(str, NULL);
314
        ret = sysinfo_get_val(str, NULL);