Byla vydána nová verze 1.8.0 svobodného multiplatformního softwaru pro konverzi video formátů HandBrake (Wikipedie). Přehled novinek v poznámkách k vydání na GitHubu. Instalovat lze také z Flathubu.
Microsoft představil nové označení počítačů Copilot+. Dle oznámení se jedná se o počítače poskytující funkce umělé inteligence. Vedle CPU a GPU mají také NPU (Neural Processing Unit). Uvnitř představených Copilot+ notebooků běží ARM čipy Qualcomm Snapdragon X Elite nebo X Plus.
Příspěvek na blogu Codean Labs rozebírá zranitelnost CVE-2024-4367 v PDF.js, tj. mj. prohlížeči PDF souborů ve Firefoxu. Při otevření útočníkem připraveného pdf souboru může být spuštěn libovolný kód v JavaScriptu. Vyřešeno ve Firefoxu 126.
Lazygit byl vydán ve verzi 0.42.0. Jedná se o TUI (Text User Interface) nadstavbu nad gitem.
K open source herní konzole Picopad přibyla (𝕏) vylepšená verze Picopad Pro s větším displejem, lepšími tlačítky a větší baterii. Na YouTube lze zhlédnout přednášku Picopad - open source herní konzole z LinuxDays 2023.
Byla vydána (𝕏) nová major verze 17 softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech GitLab (Wikipedie). Představení nových vlastností i s náhledy a videi v oficiálním oznámení.
Sovereign Tech Fund, tj. program financování otevřeného softwaru německým ministerstvem hospodářství a ochrany klimatu, podpoří vývoj FFmpeg částkou 157 580 eur. V listopadu loňského roku podpořil GNOME částkou 1 milion eur.
24. září 2024 budou zveřejněny zdrojové kódy přehrávače Winamp.
Google Chrome 125 byl prohlášen za stabilní. Nejnovější stabilní verze 125.0.6422.60 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 9 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Textový editor Neovim byl vydán ve verzi 0.10 (𝕏). Přehled novinek v příspěvku na blogu a v poznámkách k vydání.
int str2int(string value) { int number; if(sscanf(value.c_str(), "%d", &number) == EOF) { cerr << "Input file is not in correct format" << endl; exit(EXIT_FAILURE); } return number; }Ta funguje v poradku, pokud prevadim napr. "123", pokud do teto funkce ale poslu napriklad retezec "xxx", vrati mi nejake zaporne cislo (misto toho, aby skoncila chybou). Jak tedy mohu tuto funkci opravit, aby mi v pripade nevalidniho vstupu tuto skutecnost opravdu zahlasila?
Řešení dotazu:
number
na hodnotu, ktorú to má vrátiť, keď sa vstup na číslo skonvertovať nedá. Alebo výsledok sscanf()
kontroluj nielen na EOF ale aj na nulu.
sscanf()
a bude ti to jasné hned. Zřejmě je chybou ji testovat na konstantu EOF
, když na konec souboru nenarazila.
V jakém je to vlastně jazyku?
==EOF
bude <=0
, tak by to mělo fungovat.
Na příkladu je vidět, jak nebezpečné může být používání neinicializovaných proměnných.
<1
, pokud očekávám jednu hodnotu, <3
, pokud očekávám 3 hodnoty apod.
!= 1
, to je přesnější.C++
, ne jen C+
, tak by to mohlo být třeba takto:
int str2int(std::string value) { std::istringstream iss(value); int number; if((iss >> number).fail()) { std::cerr << "The input number is in a invalid format" << std::endl; exit(3);//or throw a exception… } return number; }
Tiskni Sdílej: