( bzt | 2023. 10. 31., k – 23:50 )

Nagyon szépen köszönöm!

Az angol végén az "in" miatt azt várnám, hogy ott egy hely/fájl meg van adva

Pontosan.

Egy kicsit körülményes a dolog, mert a minnél kissebb footprint volt a cél. Úgy lehet nyakoncsípni, hogy az easyboot.c 52. sorában van egy enum. Ennek kell egyeznie minden fordítás fejlécfájl sztringjeivel. Az enum-ra keresve az easyboot.c-ben meg látható, milyen környezetben jelenik meg. Macerás, nem tagadom. (Nem az én ötletem egyébként, Eric S. Raymond javasolta ezt a sztringek helyett define-okat, nekem meg csak megtetszett, mivel dependency-free megoldás. Ezt később tömbbé alakítottam, és a define-okból index enum lett, hogy futásidőben is lehessen váltogatni a nyelvet.)

Például a 14. sorhoz ("unable to locate boot partition in") a ERRPART enum tartozik, ez pedig így íródik ki:

fprintf(stderr, "easyboot: %s '%s'\r\n", lang[ERRPART], out);

Szóval igen, van utánna fájlnév, és ez általánosságban is igaz, ha van paraméter, az a lefordított szöveg után jelenik meg.
A 21. sorhoz ("increase verbosity / validation") a VERBOSITY, ennek a kiírása pedig:

printf("  -v, -vv     %s\r\n", lang[VERBOSITY]);

Azért így, mivel a fordításban nem szerepelhet "%s", ugyanis a C fordító besír, ha a printf/fprintf/sprintf első paramétere nem literál hanem változó. Egyrészről gondolom azért, mert csak angolul beszélő emberkék írták az ellenőrzést a fordítóba, másrészről meg tényleg nem szerencsés változót használni itt, nehezíti a statikus paraméterellenőrzést (igaz, az easyboot esetében mindegyik beégetett, nem dinamikus, szóval itt elvileg nem lehetne baj belőle, de jobbnak láttam elkerülni a C warningokat => fordítás nem lehet formázó sztring, csak paraméter).

Egyébként a blokkokra tagolás nem véletlen, minden blokkon belül minden sztringnél pontosan ugyanaz a paraméter:
1. (egyetlen sor, kétkarakteres kóddal) nyelvkód, nem íródik ki soha
2. általános hibaüzenetek (memóriafoglalás, fájlírás/olvasás stb.) mind után van pontosan egy fájlnév paraméter
3. parancssori súgó üzenetek, a flagek után jelennek meg, nincs paraméter
4. generáláskori üzenetek (általában önmagukban jelennek csak meg, vagy ha van mégis mellé kiírás, az a konfigfájl hibás sorából idézet, szóval működhet ragozás nélkül is)

A javítások:
5. javítva
20. Uppsz, asszem a franciát copy'n'paste-tem? Javítva
21. ez akkor jelenik meg, ha kapcsolók nélkül indítod, a "-v | -vv" leírásában. nem cseréltem, mert nem debug kimenetről van szó
24. ezt se cseréltem le, de csak mert túl hosszú, és így elüt a többi sortól (ez is akkor íródik ki, ha paraméter nélkül indítod, a "-u" leírása).
25. javítva
35. javítva
38. javítva, de meghagytam az "ausführlich"-et (hogy egyezzen a 21.-el)
39. javítva
41. javítva
42. javítva
43. javítva, de meghagytam Kernelzeile-nek
45. javítva
47. javítva
48. ezt meghagytam Symbol-nak, de csak azért, mert kezd túl sok Abbild lenni (lemezkép, képfájl, ikonkép stb.)
54. javítva

egyébként gratula mindkét projekthez!

Nagyon szépen köszönöm! Gondoltad volna, hogy csak sideproject-ről van szó? (A MEG-4 projektemet akartam OS nélkül is futtatni, onnan indult az egész)