symbian-qemu-0.9.1-12/qemu-symbian-svp/qemu-malloc.c
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 /*
       
     2  * malloc-like functions for system emulation.
       
     3  *
       
     4  * Copyright (c) 2006 Fabrice Bellard
       
     5  *
       
     6  * Permission is hereby granted, free of charge, to any person obtaining a copy
       
     7  * of this software and associated documentation files (the "Software"), to deal
       
     8  * in the Software without restriction, including without limitation the rights
       
     9  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
       
    10  * copies of the Software, and to permit persons to whom the Software is
       
    11  * furnished to do so, subject to the following conditions:
       
    12  *
       
    13  * The above copyright notice and this permission notice shall be included in
       
    14  * all copies or substantial portions of the Software.
       
    15  *
       
    16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
       
    17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
       
    18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
       
    19  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
       
    20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
       
    21  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
       
    22  * THE SOFTWARE.
       
    23  */
       
    24 #include "qemu-common.h"
       
    25 
       
    26 void *get_mmap_addr(unsigned long size)
       
    27 {
       
    28     return NULL;
       
    29 }
       
    30 
       
    31 void qemu_free(void *ptr)
       
    32 {
       
    33     free(ptr);
       
    34 }
       
    35 
       
    36 void *qemu_malloc(size_t size)
       
    37 {
       
    38     return malloc(size);
       
    39 }
       
    40 
       
    41 void *qemu_realloc(void *ptr, size_t size)
       
    42 {
       
    43     return realloc(ptr, size);
       
    44 }
       
    45 
       
    46 void *qemu_mallocz(size_t size)
       
    47 {
       
    48     void *ptr;
       
    49     ptr = qemu_malloc(size);
       
    50     if (!ptr)
       
    51         return NULL;
       
    52     memset(ptr, 0, size);
       
    53     return ptr;
       
    54 }
       
    55 
       
    56 char *qemu_strdup(const char *str)
       
    57 {
       
    58     char *ptr;
       
    59     size_t len = strlen(str);
       
    60     ptr = qemu_malloc(len + 1);
       
    61     if (!ptr)
       
    62         return NULL;
       
    63     memcpy(ptr, str, len + 1);
       
    64     return ptr;
       
    65 }
       
    66 
       
    67 char *qemu_strndup(const char *str, size_t size)
       
    68 {
       
    69     const char *end = memchr(str, 0, size);
       
    70     char *new;
       
    71 
       
    72     if (end)
       
    73         size = end - str;
       
    74 
       
    75     new = qemu_malloc(size + 1);
       
    76     new[size] = 0;
       
    77 
       
    78     return memcpy(new, str, size);
       
    79 }