Programmingkid <programmingk...@gmail.com> writes:

> Does this look about right?
>
>     QDict *qdict;
>     Error *errp;
>     QObject **ret_data;
>     static int counter;
>     char *idString, *fileName;
>
>       // The file variable is objective-c, left that code out
>
>         fileName = g_strdup_printf("%s",
>                             [file cStringUsingEncoding: 
> NSASCIIStringEncoding]);
>         
>         /* Create an unique id */
>         idString = g_strdup_printf("USB%d", counter++);
>
>         /* Create the QDICT object */
>         qdict = qdict_new();
>         qdict_put_obj(qdict, "id", qstring_from_str(idString));
>         qdict_put_obj(qdict, "device", qstring_from_str(idString));
>         qdict_put_obj(qdict, "if", qstring_from_str("none"));
>         qdict_put_obj(qdict, "file", qstring_from_str(fileName));
>         qdict_put_obj(qdict, "driver", qstring_from_str("usb-storage"));
>         drive_add(IF_DEFAULT, 0, fileName, "none");
>         qmp_device_add(qdict, ret_data, &errp);
>         handleAnyDeviceErrors(errp);
>         g_free(fileName);
>         g_free(idString);
>
> This is a sample of what I am working on. For some reason, it crashes QEMU. 
> Any clues why? I think it might be because of qdict_put_obj(). 

My crystal ball is down for maintenance today, so you'll have to gives
us the clues yourself: a stack backtrace, for starters :)

Reply via email to