X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fserial_hid.c;h=4a5f9bb98995324fa82c9c16158a8a7d0d68cc78;hb=0c96de7223a47a21e509bc2c4560e50651d389e5;hp=ee073d1dbbb509d60d7d62cdc69975c9d90e3f4b;hpb=bf6b9e7b16264d2a6ccb3ac2a6004cbc2cef0e43;p=libsigrok.git diff --git a/src/serial_hid.c b/src/serial_hid.c index ee073d1d..4a5f9bb9 100644 --- a/src/serial_hid.c +++ b/src/serial_hid.c @@ -199,14 +199,14 @@ static GSList *ser_hid_hidapi_list(GSList *list, sr_ser_list_append_t append) pid = curdev->product_id; desc = g_string_sized_new(128); g_string_append_printf(desc, "HID"); - if (manuf) + if (manuf && wcslen(manuf) != 0) g_string_append_printf(desc, " %ls", manuf); - if (prod) + if (prod && wcslen(prod) != 0) g_string_append_printf(desc, " %ls", prod); - if (serno) + if (serno && wcslen(serno) != 0) g_string_append_printf(desc, " %ls", serno); if (vid && pid) - g_string_append_printf(desc, " %04hx:%04hx", vid, pid); + g_string_append_printf(desc, " [%04hx.%04hx]", vid, pid); list = append(list, name, desc->str); g_string_free(desc, TRUE); g_free(name); @@ -591,9 +591,9 @@ static int ser_hid_setup_funcs(struct sr_serial_dev_inst *serial) * returns the chip index and advances the spec pointer upon match, * returns SER_HID_CHIP_UNKNOWN upon mismatch. */ -static enum ser_hid_chip_t ser_hid_chip_find_enum(char **spec_p) +static enum ser_hid_chip_t ser_hid_chip_find_enum(const char **spec_p) { - gchar *spec; + const gchar *spec; enum ser_hid_chip_t idx; struct ser_hid_chip_functions *desc; @@ -774,7 +774,8 @@ static int ser_hid_parse_conn_spec( serno = g_strdup(p); p += strlen(p); } else if (!chip) { - char *copy, *endptr; + char *copy; + const char *endptr; const char *name; copy = g_strdup(p); endptr = copy; @@ -960,7 +961,7 @@ static int ser_hid_chip_search(enum ser_hid_chip_t *chip_ref, sr_dbg("DBG: %s(), name %s", __func__, name); if (!name || !*name) return SR_ERR_NA; - chip = ser_hid_chip_find_enum((char **)&name); + chip = ser_hid_chip_find_enum(&name); sr_dbg("DBG: %s(), chip %d", __func__, chip); if (chip == SER_HID_CHIP_UNKNOWN) return SR_ERR_NA; @@ -1058,7 +1059,7 @@ static int ser_hid_chip_search(enum ser_hid_chip_t *chip_ref, sr_dbg("DBG: %s(), name %s", __func__, name); if (!name || !*name) return SR_ERR_NA; - chip = ser_hid_chip_find_enum((char **)&name); + chip = ser_hid_chip_find_enum(&name); sr_dbg("DBG: %s(), chip %d", __func__, chip); if (chip == SER_HID_CHIP_UNKNOWN) return SR_ERR_NA;