Move static char str[] to PDATA

This commit is contained in:
Stefan Rueger
2024-04-17 12:24:11 +01:00
parent 1ae28a7efa
commit 1bfbc2771d
2 changed files with 6 additions and 3 deletions

View File

@@ -90,7 +90,8 @@ static int write_flush(avrftdi_t *);
* the pin names used in FTDI datasheets.
*/
static char *ftdi_pin_name(avrftdi_t *pdata, struct pindef_t pin) {
static char str[128];
char *str = pdata->name_str;
size_t strsiz = sizeof pdata->name_str;
char interface = '@';
@@ -103,7 +104,7 @@ static char *ftdi_pin_name(avrftdi_t *pdata, struct pindef_t pin) {
interface += pdata->ftdic->index;
int pinno;
int n = 0;
size_t n = 0;
int mask = pin.mask[0];
const char * fmt;
@@ -130,7 +131,7 @@ static char *ftdi_pin_name(avrftdi_t *pdata, struct pindef_t pin) {
else
fmt = ", %c%cBUS%d%n";
snprintf(&str[n], sizeof(str) - n, fmt, interface, port, pinno, &chars);
snprintf(&str[n], strsiz - n, fmt, interface, port, pinno, &chars);
n += chars;
}

View File

@@ -111,6 +111,8 @@ typedef struct avrftdi_s {
bool use_bitbanging;
/* bits 16-23 of extended 24-bit word flash address for parts with flash > 128k */
uint8_t lext_byte;
char name_str[128]; // Used in ftdi_pin_name()
} avrftdi_t;
void avrftdi_log(int level, const char * func, int line, const char * fmt, ...);