public AltosHexfileFilter(String usb_product) {
int l;
+ int dash;
/* Trim off any trailing variants (1.0a vs 1.0) */
- for (l = usb_product.length(); l > 0; l--) {
+ for (dash = usb_product.length(); dash > 0; dash--) {
+ char c = usb_product.charAt(dash-1);
+ if (c == '-')
+ break;
+ }
+ if (dash == 0)
+ dash = usb_product.length();
+
+ for (l = usb_product.length(); l > dash; l--) {
char c = usb_product.charAt(l-1);
if (c < 'a' || 'z' < c)
break;