rem: return -1;
add: if (strcmp(m->desc, "lfuse") == 0) { cmd = 'F'; } else if (strcmp(m->desc, "hfuse") == 0) { cmd = 'N'; } else if (strcmp(m->desc, "efuse") == 0) { cmd = 'Q'; } else if (strcmp(m->desc, "lock") == 0) { cmd = 'r'; } else return -1;  butterfly_send(pgm, &cmd, 1); butterfly_recv(pgm, value, 1);  return *value == '?'? -1: 0;
context: static int butterfly_read_byte(PROGRAMMER * pgm, AVRPART * p, AVRMEM * m,                            unsigned long addr, unsigned char * value){  no_show_func_info();  if (strcmp(m->desc, "flash") == 0) {    return butterfly_read_byte_flash(pgm, p, m, addr, value);  }  if (strcmp(m->desc, "eeprom") == 0) {    return butterfly_read_byte_eeprom(pgm, p, m, addr, value);  }  return -1;}