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 | } |