Richard Biener oznámil vydání verze 16.1 (16.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 16. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.
Zulip Server z open source komunikační platformy Zulip (Wikipedie, GitHub) byl vydán ve verzi 12.0. Přehled novinek v příspěvku na blogu.
Před 30 lety, tj. v úterý 30. dubna 1996, byl spuštěn Seznam.cz.
Byly zpracovány a zveřejněny všechny videozáznamy, které stojí za zveřejnění, z konference FOSDEM 2026.
Od úterý 28. dubna musí nově uváděné notebooky v Evropské unii podporovat nabíjení přes USB-C. Jednotná nabíječka byla schválena Evropským parlamentem v říjnu 2022.
Byly publikovány informace o kritické zranitelnosti CVE-2026-31431 pojmenované Copy Fail v Linuxu, konkrétně v kryptografii (AF_ALG). Běžný uživatel může získat práva roota (lokální eskalaci práv). Na všech distribucích Linuxu vydaných od roku 2017. Pomocí 732bajtového skriptu. V upstreamu je již opraveno. Zranitelnost byla nalezena pomocí AI Xint Code.
Textový editor Zed dospěl do verze 1.0. Představení v příspěvku na blogu.
Vývojáři svobodného 3D softwaru Blender představili (𝕏, Mastodon, Bluesky) nejnovějšího firemního sponzora Blenderu. Je ním společnost Anthropic stojící za AI Claude a úroveň sponzoringu je Patron, tj. minimálně 240 tisíc eur ročně. Anthropic oznámil sponzorství v tiskové zprávě Claude for Creative Work.
VNC server wayvnc pro Wayland kompozitory postavené nad wlroots - ne GNOME, KDE nebo Weston - byl vydán ve verzi 0.10.0. Vydána byla také verze 1.0.0 související knihovny neatvnc.
Bylo oznámeno vydání Fedora Linuxu 44. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora IoT pro internet věcí, Fedora Cloud pro cloudové nasazení a Fedora CoreOS pro ty, kteří preferují neměnné systémy. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách
… více »
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: