static int bt_parse(const char *opt)

{

    const char *endp, *p;

    int vlan;



    if (strstart(opt, "hci", &endp)) {

        if (!*endp || *endp == ',') {

            if (*endp)

                if (!strstart(endp, ",vlan=", 0))

                    opt = endp + 1;



            return bt_hci_parse(opt);

       }

    } else if (strstart(opt, "vhci", &endp)) {

        if (!*endp || *endp == ',') {

            if (*endp) {

                if (strstart(endp, ",vlan=", &p)) {

                    vlan = strtol(p, (char **) &endp, 0);

                    if (*endp) {

                        fprintf(stderr, "qemu: bad scatternet '%s'\n", p);

                        return 1;

                    }

                } else {

                    fprintf(stderr, "qemu: bad parameter '%s'\n", endp + 1);

                    return 1;

                }

            } else

                vlan = 0;



            bt_vhci_add(vlan);

            return 0;

        }

    } else if (strstart(opt, "device:", &endp))

        return !bt_device_add(endp);



    fprintf(stderr, "qemu: bad bluetooth parameter '%s'\n", opt);

    return 1;

}

static int bt_parse(const char *opt)

{

    const char *endp, *p;

    int vlan;



    if (strstart(opt, "hci", &endp)) {

        if (!*endp || *endp == ',') {

            if (*endp)

                if (!strstart(endp, ",vlan=", 0))

                    opt = endp + 1;



            return bt_hci_parse(opt);

       }

    } else if (strstart(opt, "vhci", &endp)) {

        if (!*endp || *endp == ',') {

            if (*endp) {

                if (strstart(endp, ",vlan=", &p)) {

                    vlan = strtol(p, (char **) &endp, 0);

                    if (*endp) {

                        fprintf(stderr, "qemu: bad scatternet '%s'\n", p);

                        return 1;

                    }

                } else {

                    fprintf(stderr, "qemu: bad parameter '%s'\n", endp + 1);

                    return 1;

                }

            } else

                vlan = 0;



            bt_vhci_add(vlan);

            return 0;

        }

    } else if (strstart(opt, "device:", &endp))

        return !bt_device_add(endp);



    fprintf(stderr, "qemu: bad bluetooth parameter '%s'\n", opt);

    return 1;

}

static int FUNC_0(const char *VAR_0)

{

    const char *VAR_1, *VAR_2;

    int VAR_3;



    if (strstart(VAR_0, "hci", &VAR_1)) {

        if (!*VAR_1 || *VAR_1 == ',') {

            if (*VAR_1)

                if (!strstart(VAR_1, ",VAR_3=", 0))

                    VAR_0 = VAR_1 + 1;



            return bt_hci_parse(VAR_0);

       }

    } else if (strstart(VAR_0, "vhci", &VAR_1)) {

        if (!*VAR_1 || *VAR_1 == ',') {

            if (*VAR_1) {

                if (strstart(VAR_1, ",VAR_3=", &VAR_2)) {

                    VAR_3 = strtol(VAR_2, (char **) &VAR_1, 0);

                    if (*VAR_1) {

                        fprintf(stderr, "qemu: bad scatternet '%s'\n", VAR_2);

                        return 1;

                    }

                } else {

                    fprintf(stderr, "qemu: bad parameter '%s'\n", VAR_1 + 1);

                    return 1;

                }

            } else

                VAR_3 = 0;



            bt_vhci_add(VAR_3);

            return 0;

        }

    } else if (strstart(VAR_0, "device:", &VAR_1))

        return !bt_device_add(VAR_1);



    fprintf(stderr, "qemu: bad bluetooth parameter '%s'\n", VAR_0);

    return 1;

}

static int FUNC_0(const char *VAR_0)
{ const char *VAR_1, *VAR_2; int VAR_3; if (strstart(VAR_0, "hci", &VAR_1)) { if (!*VAR_1 || *VAR_1 == ',') { if (*VAR_1)
if (!strstart(VAR_1, ",VAR_3=", 0))
VAR_0 = VAR_1 + 1; return bt_hci_parse(VAR_0); } } else if (strstart(VAR_0, "vhci", &VAR_1)) { if (!*VAR_1 || *VAR_1 == ',') { if (*VAR_1) { if (strstart(VAR_1, ",VAR_3=", &VAR_2)) { VAR_3 = strtol(VAR_2, (char **) &VAR_1, 0); if (*VAR_1) { fprintf(stderr, "qemu: bad scatternet '%s'\n", VAR_2); return 1; } } else { fprintf(stderr, "qemu: bad parameter '%s'\n", VAR_1 + 1); return 1; } } else VAR_3 = 0; bt_vhci_add(VAR_3); return 0; } } else if (strstart(VAR_0, "device:", &VAR_1)) return !bt_device_add(VAR_1); fprintf(stderr, "qemu: bad bluetooth parameter '%s'\n", VAR_0); return 1; }