Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za květen (YouTube).
Byly publikovány informace (txt) o zranitelnostech CVE-2025-5054 v Apport a CVE-2025-4598 v systemd-coredump. Lokální uživatel se může dostat k výpisu paměti programu (core dump) s SUID a přečíst si tak například /etc/shadow.
Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu aktuálně činí 2,69 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 30,95 %. Procesor AMD používá 68,77 % hráčů na Linuxu.
Byla vydána verze 4.0 open source programu na kreslení grafů Veusz (Wikipedie). Přehled novinek v poznámkách k vydání. Proběhla portace na Qt 6.
Dibuja je jednoduchý kreslící program inspirovaný programy Paintbrush pro macOS a Malování pro Windows. Vydána byla verze 0.26.0.
Byla vydána nová verze 9.13 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.
Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Byla vydána nová stabilní verze 3.22.0, tj. první z nové řady 3.22, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.
FEL ČVUT vyvinula robotickou stavebnici pro mladé programátory. Stavebnice Brian byla navržená speciálně pro potřeby populární Robosoutěže. Jde ale také o samostatný produkt, který si může koupit každý fanoušek robotiky a programování od 10 let, ideální je i pro střední školy jako výuková pomůcka. Jádro stavebnice tvoří programovatelná řídicí jednotka, kterou vyvinul tým z FEL ČVUT ve spolupráci s průmyslovými partnery. Stavebnici
… více »Ubuntu bude pro testování nových verzí vydávat měsíční snapshoty. Dnes vyšel 1. snapshot Ubuntu 25.10 (Questing Quokka).
std::string ReadLine() const { constexpr size_t BUFF_SIZE = 1024; char* buffer = new char[BUFF_SIZE]; char* pointer = buffer; DWORD readedBytes, length = 0; auto line = std::string(); while (true) { if (ReadFile(handle, pointer, static_cast<DWORD>(1), &readedBytes, nullptr)) { if (*pointer == '\r' || *pointer == '\n' || readedBytes == 0) { line.append(buffer, length); pointer = nullptr; delete[] buffer; return line; } else { if (length == BUFF_SIZE) { line.append(buffer, length); length = 0; pointer = buffer; } else { pointer++; length++; } } } else { delete[] buffer; throw SomeException(); } } }
Řešení dotazu:
char c; ... ReadFile(handle, &c, 1, &readedBytes, nullptr) ... line.append(c);
std::string ReadLine(const size_t bufferSize = 1024) const { char* buffer = new char[bufferSize + 1]; char* pointer = buffer; DWORD readedBytes, length = 0; auto line = std::string(); while (true) { if (ReadFile(handle, pointer, static_cast<DWORD>(1), &readedBytes, nullptr)) { if (*pointer == 'r' || *pointer == 'n' || readedBytes == 0) { line.append(buffer, length); pointer = nullptr; delete[] buffer; return line; } else { if (length == bufferSize) { line.append(buffer, length + 1); length = 0; pointer = buffer; } else { pointer++; length++; } } } } }
si eště jakoby voprav to slovíčko 'readed' ;D
bufferSize = std::numeric_limits<DWORD>::max()
.
Tiskni
Sdílej: