add: *fuse  = safemode_fuse;
context: int safemode_readfuses (unsigned char * lfuse, unsigned char * hfuse, unsigned char * efuse, PROGRAMMER * pgm, AVRPART * p, int verbose)  {  unsigned char value;  unsigned char fusegood = 0;  unsigned char safemode_lfuse;  unsigned char safemode_hfuse;  unsigned char safemode_efuse;  AVRMEM * m;    safemode_lfuse = *lfuse;  safemode_hfuse = *hfuse;  safemode_efuse = *efuse;  /* Read lfuse three times */    fusegood = 2; /* If AVR device doesn't support this fuse, don't want                   to generate a verify error */  m = avr_locate_mem(p, "lfuse");  if (m != NULL) {    fusegood = 0; /* By default fuse is a failure */    avr_read_byte(pgm, p, m, 0, &safemode_lfuse);    avr_read_byte(pgm, p, m, 0, &value);    if (value == safemode_lfuse) {        avr_read_byte(pgm, p, m, 0, &value);        if (value == safemode_lfuse){        fusegood = 1; /* Fuse read OK three times */        }    }  }    if (fusegood == 0)	 {        fprintf(stderr,           "%s: safemode: Verify error - unable to read lfuse properly. "           "Programmer may not be reliable.\n", progname);        return -1;    }    else if ((fusegood == 1) && (verbose > 0)) {        printf("%s: safemode: lfuse reads as %X\n", progname, safemode_lfuse);    }  /* Read hfuse three times */    fusegood = 2; /* If AVR device doesn't support this fuse, don't want                   to generate a verify error */  m = avr_locate_mem(p, "hfuse");  if (m != NULL) {    fusegood = 0; /* By default fuse is a failure */    avr_read_byte(pgm, p, m, 0, &safemode_hfuse);    avr_read_byte(pgm, p, m, 0, &value);    if (value == safemode_hfuse) {        avr_read_byte(pgm, p, m, 0, &value);        if (value == safemode_hfuse){             fusegood = 1; /* Fuse read OK three times */        }    }  }    if (fusegood == 0)	 {            fprintf(stderr,           "%s: safemode: Verify error - unable to read hfuse properly. "           "Programmer may not be reliable.\n", progname);       return -2;    }    else if ((fusegood == 1) && (verbose > 0)){        printf("%s: safemode: hfuse reads as %X\n", progname, safemode_hfuse);    }  /* Read efuse three times */    fusegood = 2; /* If AVR device doesn't support this fuse, don't want                   to generate a verify error */  m = avr_locate_mem(p, "efuse");  if (m != NULL) {    fusegood = 0; /* By default fuse is a failure */    avr_read_byte(pgm, p, m, 0, &safemode_efuse);    avr_read_byte(pgm, p, m, 0, &value);    if (value == safemode_efuse) {        avr_read_byte(pgm, p, m, 0, &value);        if (value == safemode_efuse){             fusegood = 1; /* Fuse read OK three times */        }    }  }        if (fusegood == 0)	 {        fprintf(stderr,           "%s: safemode: Verify error - unable to read efuse properly. "           "Programmer may not be reliable.\n", progname);        return -3;        }    else if ((fusegood == 1) && (verbose > 0)) {        printf("%s: safemode: efuse reads as %X\n", progname, safemode_efuse);        }  *lfuse = safemode_lfuse;  *hfuse = safemode_hfuse;  *efuse = safemode_efuse;  return 0;}