add: unsigned char safemode_lfuse; unsigned char safemode_hfuse; unsigned char safemode_efuse; unsigned char safemode_fuse;   safemode_memfuses(0, &safemode_lfuse, &safemode_hfuse, &safemode_efuse, &safemode_fuse);  if (strcmp(mem->desc, "fuse")==0) { safemode_fuse = data; } if (strcmp(mem->desc, "lfuse")==0) { safemode_lfuse = data; } if (strcmp(mem->desc, "hfuse")==0) { safemode_hfuse = data; } if (strcmp(mem->desc, "efuse")==0) { safemode_efuse = data; }  safemode_memfuses(1, &safemode_lfuse, &safemode_hfuse, &safemode_efuse, &safemode_fuse);
context: int avr_write_byte(PROGRAMMER * pgm, AVRPART * p, AVRMEM * mem,                   unsigned long addr, unsigned char data){  int rc;  if (pgm->write_byte) {    rc = pgm->write_byte(pgm, p, mem, addr, data);    if (rc == 0) {      return rc;    }    /* write_byte() method failed, try again with default. */  }  return avr_write_byte_default(pgm, p, mem, addr, data);}