On Tue, 9 Mar 2010 12:30:08 +0000, Paul Brook <p...@codesourcery.com> wrote:
> > Is  there any reason (other than being coding style) in using qemu_free()
> > instead of free()? As per qem-malloc.c qemu_free() is nothing but free().
> 
> The whole point of qemu_{malloc,free} is to isolate code from the system 
> implementation of malloc/free. It's entirely possible that future versions of 
> qemu_malloc will use a different memory allocation strategy.
> 
> > The reason I am asking is.. tracking string allocs become tricky
> > if some of them were defined using qemu_alloc() and others are allocated
> >  through sprintf().
> 
> sprintf does not allocate memory.
> If you mean strdup, then you shouldn't be using that (use qemu_strdup).

we have code that does

static void v9fs_string_sprintf(V9fsString *str, const char *fmt, ...)
{
    va_list ap;
    int err;

    v9fs_string_free(str);

    va_start(ap, fmt);
    err = vasprintf(&str->data, fmt, ap);
    BUG_ON(err == -1);
    va_end(ap);

    str->size = err;
}


I guess we should not be using vasprint. What alternatives are
available today ?

-aneesh


Reply via email to