discards qualifiers from pointer target type

OP #501650
Lesenswert?

Moin,


folgender Befehl:

Compiling: HeDiWet.c
avr-gcc -c -mmcu=atmega16 -I. -gstabs   -Os -funsigned-char 
-funsigned-bitfields -fpack-struct -fshort-enums -Wall 
-Wstrict-prototypes -Wa,-adhlns=HeDiWet.lst  -std=gnu99 -DF_CPU=4000000 
-DUART_BAUD_RATE=9600 -MD -MP -MF .dep/HeDiWet.o.d HeDiWet.c -o 
HeDiWet.o


ergibt folgende Warnungen:

HeDiWet.c: In function 'main':
HeDiWet.c:355: warning: passing argument 1 of 'snprintf' discards 
qualifiers from pointer target type
...
HeDiWet.c:366: warning: passing argument 1 of 'strncmp_P' discards 
qualifiers from pointer target type
...


Die entscheidenden Programmteile:

uart.c:

volatile char uart_buffer[32];


HeDiWet.h

extern volatile char uart_buffer[32];



HeDiWet.c:

#include uart.h
#include HeDiWet.h
char getDATA[] PROGMEM="getDATA\n";

...

snprintf(uart_buffer,20," Aktive Zeit");        // Zeile 355
...
if      (!strncmp_P(uart_buffer, getDATA,7)){   // Zeile 366
...


Es sind doch alles char-Variablen,
es sind auch "nur" Warnungen ...

Tausend Dank
Matthias
Moderator Persönliche Seite #501657
Lesenswert?

> Es sind doch alles char-Variablen,

Es geht ja auch nicht um den Datentyp selbst, sondern um den "type
qualifier".  Da es nur drei Qualifier gibt (const, volatile, und
seit C99 restricted), kannst du dir selbst an 3 Fingern abzählen,
worüber er sich beschwert.

Da ja offenbar doch alles funktioniert, braucht's wohl das volatile
sowieso gar nicht für dich.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren