Portál AbcLinuxu, 26. července 2025 09:01
cz3dtc@NB-Pepe:~/.A-Pracovni-A./source/179$ make -f makefile bin bin/cleaner done. src/buffer.o src/callstr.o src/callstr.c: In function ‘pnmtch’: src/callstr.c:324: warning: pointer targets in assignment differ in signedness src/callstr.c: In function ‘c6mtch’: src/callstr.c:385: warning: pointer targets in passing argument 2 of ‘pnmtch’ differ in signedness src/callstr.c:316: note: expected ‘char *’ but argument is of type ‘UBYTE *’ src/cvs_cmds.o src/cvs_cmds.c: In function ‘mode_command’: src/cvs_cmds.c:1316: warning: operation on ‘c’ may be undefined src/cvs_cmds.c: At top level: src/cvs_cmds.c:2092: warning: ignoring #pragma warn src/cvs_cmds.c:2107: warning: ignoring #pragma warn src/cvs_cmds.c:2272: warning: ignoring #pragma warn src/cvs_cmds.c:2284: warning: ignoring #pragma warn src/cvs_cmds.c:2384: warning: ignoring #pragma warn src/cvs_cmds.c:2411: warning: ignoring #pragma warn src/cvs_cmds.c:2454: warning: ignoring #pragma warn src/cvs_cmds.c:2466: warning: ignoring #pragma warn src/cvs_cvsd.o src/cvs_cvsd.c:1080: warning: ignoring #pragma warn src/cvs_cvsd.c:1143: warning: ignoring #pragma warn src/cvs_serv.o src/cvs_cvrt.o src/file.o src/global.o src/graph.o src/l2dama.o src/l2misc.o src/l2rx.o src/l2stma.o src/l2timer.o src/l2tx.o src/l3ip.o src/l3ip.c: In function ‘ip_route’: src/l3ip.c:239: warning: suggest parentheses around operand of ‘!’ or change ‘&’ to ‘&&’ or ‘!’ to ‘~’ src/l3ip.c: In function ‘rt_find’: src/l3ip.c:500: error: lvalue required as left operand of assignment src/l3ip.c: In function ‘res_arp’: src/l3ip.c:752: error: lvalue required as left operand of assignment src/l3ip.c: In function ‘arp_service’: src/l3ip.c:1190: warning: pointer targets in passing argument 1 of ‘getfid’ differ in signedness include/function.h:250: note: expected ‘char *’ but argument is of type ‘unsigned char *’ src/l3ip.c:1192: warning: pointer targets in passing argument 1 of ‘getfid’ differ in signedness include/function.h:250: note: expected ‘char *’ but argument is of type ‘unsigned char *’ src/l3ip.c:1194: warning: pointer targets in passing argument 1 of ‘cmpid’ differ in signedness include/function.h:148: note: expected ‘const char *’ but argument is of type ‘unsigned char *’ src/l3ip.c:1205: warning: pointer targets in passing argument 3 of ‘arp_add’ differ in signedness include/ip.h:299: note: expected ‘char *’ but argument is of type ‘unsigned char *’ src/l3ip.c:1217: error: lvalue required as left operand of assignment src/l3ip.c:1218: warning: pointer targets in passing argument 2 of ‘cmpid’ differ in signedness include/function.h:148: note: expected ‘const char *’ but argument is of type ‘unsigned char *’ src/l3ip.c:1224: warning: pointer targets in passing argument 1 of ‘cpyid’ differ in signedness include/function.h:150: note: expected ‘char *’ but argument is of type ‘unsigned char *’ src/l3ip.c:1224: warning: pointer targets in passing argument 2 of ‘cpyid’ differ in signedness include/function.h:150: note: expected ‘const char *’ but argument is of type ‘unsigned char *’ src/l3ip.c:1228: warning: pointer targets in passing argument 1 of ‘cpyid’ differ in signedness include/function.h:150: note: expected ‘char *’ but argument is of type ‘unsigned char *’ src/l3ip.c:1232: warning: pointer targets in passing argument 2 of ‘arp_send’ differ in signedness include/ip.h:321: note: expected ‘char *’ but argument is of type ‘unsigned char *’ src/l3ip.c: In function ‘arp_send’: src/l3ip.c:1259: warning: pointer targets in passing argument 1 of ‘putfid’ differ in signedness include/function.h:155: note: expected ‘const char *’ but argument is of type ‘unsigned char *’ src/l3ip.c:1261: warning: pointer targets in passing argument 1 of ‘putfid’ differ in signedness include/function.h:155: note: expected ‘const char *’ but argument is of type ‘unsigned char *’ src/l3ip.c: In function ‘arp_request’: src/l3ip.c:1289: warning: pointer targets in passing argument 1 of ‘cpyid’ differ in signedness include/function.h:150: note: expected ‘char *’ but argument is of type ‘unsigned char *’ src/l3ip.c: In function ‘l2toip’: src/l3ip.c:1314: error: lvalue required as left operand of assignment make: *** [src/l3ip.o] Error 1
patch -p1 < tnn179.diff
.
src/l3ip.c:500: error: lvalue required as left operand of assignmentKeď si ten súbor otvoríš a pozrieš sa na ten riadok, tak prídeš na to, v čom je problém (teda ak vieš aspoň trochu programovať). :)
iprp = (IP_ROUTE *)iprp = iprp->nextip)
a až po aplikovaní záplaty bol správny (záplata sa dá aplikovať aj tak, aby sa vrátil ten pôvodný tvar, a to si urobil aj ty, ale program patch ťa na to upozorní).
to se kompilator gcc meni tak ze je zpetne nekompatibilni ?To není zpětná nekompatibilita. Standart C IIRC totiž nic neříká o tom, jak se to má v takémhle případě chovat. Tudíž se kompilátor může zachovat jak chce. GCC obvykle v takových případech vyhazuje různá varování. Nové verze gcc nasadili trend měnit varování za chyby. Je to pochopitelné, protože takový program se může chovat nepředvídatelně a často jsou za to pak biti vývojáři kompilátoru, kteří jsou v tom nevině.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.