Ich bin gerade dabei, meine alten Quelltexte auf einen neueren PC zu bearbeiten. Dabei erhalte ich viele Warnungen, die ich ohne fremde Hilfe nicht abstellen kann. Hier mal ein Beispiel:
zk3.cpp: In member function ‘int MainWindow::ask_for_save(int)’: zk3.cpp:898:41: warning: format not a string literal and no format arguments [-Wformat-security] switch( fl_choice( info, b0, b1, b2 ) ) { // button index ^
Die zugehörige Funktion ist:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | //---------------------------------------------------------------------------- // Ask the user what to do // reason: the reason for this request // 0 exit (menu or window button) // 1 new file or tree // 2 shutdown from extern (SIGKILL SIGINT) // does not work when system goes down // returns 1 if running action should be canceled int MainWindow::ask_for_save( int reason ) { const char *info, *b0, *b1, *b2; switch( reason ) { case 1: info = "There are unsaved data! Do you really want to continue?"; b0 = "Cancel"; b1 = "Save+Cont."; b2 = "Continue"; break; case 2: info = "There are unsaved data!"; b0 = "Cancel"; b1 = "Save+Exit"; b2 = "Exit"; break; default: info = "There are unsaved data! Do you really want to exit?"; b0 = "Cancel"; b1 = "Save+Exit"; b2 = "Exit"; } switch( fl_choice( info, b0, b1, b2 ) ) { // button index case 1: if( !nf_save( 0 ) ) // error when saving file return 1; break; case 2: break; default: return 1; } return 0; } |
Die angemeckerte Funktion ist die Bibliotheksfunktion fl_choice() aus dem FLTK Toolkit. Was Google mir dazu liefert, hilft mir nicht wirklich weiter.
Gibt es da einen Trick oder kann man zumindest temporär für diese Funktion die Warnung zu unterdrücken?
p.s. ich habe dem Compiler keine besonderen Optionen übergeben. Das ist bei dieser Version so vor eingestellt.