Rev 1318 | Rev 1322 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1318 | Rev 1321 | ||
|---|---|---|---|
| Line -... | Line 1... | ||
| - | 1 | /* |
|
| - | 2 | * Copyright (C) 2006 Jakub Vana |
|
| - | 3 | * All rights reserved. |
|
| - | 4 | * |
|
| - | 5 | * Redistribution and use in source and binary forms, with or without |
|
| - | 6 | * modification, are permitted provided that the following conditions |
|
| - | 7 | * are met: |
|
| - | 8 | * |
|
| - | 9 | * - Redistributions of source code must retain the above copyright |
|
| - | 10 | * notice, this list of conditions and the following disclaimer. |
|
| - | 11 | * - Redistributions in binary form must reproduce the above copyright |
|
| - | 12 | * notice, this list of conditions and the following disclaimer in the |
|
| - | 13 | * documentation and/or other materials provided with the distribution. |
|
| - | 14 | * - The name of the author may not be used to endorse or promote products |
|
| - | 15 | * derived from this software without specific prior written permission. |
|
| - | 16 | * |
|
| - | 17 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR |
|
| - | 18 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
|
| - | 19 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
|
| - | 20 | * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, |
|
| - | 21 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
|
| - | 22 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
|
| - | 23 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
|
| - | 24 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
|
| - | 25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
|
| - | 26 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
| - | 27 | */ |
|
| - | 28 | ||
| 1 | #include <sysinfo/sysinfo.h> |
29 | #include <sysinfo/sysinfo.h> |
| 2 | #include <mm/slab.h> |
30 | #include <mm/slab.h> |
| 3 | #include <print.h> |
31 | #include <print.h> |
| 4 | #include <syscall/copy.h> |
32 | #include <syscall/copy.h> |
| 5 | 33 | ||
| Line 226... | Line 254... | ||
| 226 | { |
254 | { |
| 227 | char *str; |
255 | char *str; |
| 228 | sysinfo_rettype_t ret; |
256 | sysinfo_rettype_t ret; |
| 229 | str=malloc(len+1,0); |
257 | str=malloc(len+1,0); |
| 230 | ASSERT(str); |
258 | ASSERT(str); |
| 231 | copy_from_uspace(str,(void *)ptr,len+1); |
259 | if(copy_from_uspace(str,(void *)ptr,len+1)) return 0; |
| 232 | if(str[len]) return 0; /*This is not len lenght C string*/ |
260 | if(str[len]) return 0; /*This is not len lenght C string*/ |
| 233 | ret=sysinfo_get_val(str,NULL); |
261 | ret=sysinfo_get_val(str,NULL); |
| 234 | free(str); |
262 | free(str); |
| 235 | return ret.valid; |
263 | return ret.valid; |
| 236 | } |
264 | } |
| Line 239... | Line 267... | ||
| 239 | { |
267 | { |
| 240 | char *str; |
268 | char *str; |
| 241 | sysinfo_rettype_t ret; |
269 | sysinfo_rettype_t ret; |
| 242 | str=malloc(len+1,0); |
270 | str=malloc(len+1,0); |
| 243 | ASSERT(str); |
271 | ASSERT(str); |
| 244 | copy_from_uspace(str,(void *)ptr,len+1); |
272 | if(copy_from_uspace(str,(void *)ptr,len+1)) return 0; |
| 245 | if(str[len]) return 0; /*This is not len lenght C string*/ |
273 | if(str[len]) return 0; /*This is not len lenght C string*/ |
| 246 | ret=sysinfo_get_val(str,NULL); |
274 | ret=sysinfo_get_val(str,NULL); |
| 247 | free(str); |
275 | free(str); |
| 248 | return ret.val; |
276 | return ret.val; |
| 249 | } |
277 | } |