Design (GitHub) je 2D CAD pro GNOME. Instalovat lze i z Flathubu. Běží také ve webovém prohlížeči.
Příspěvek na blogu herního enginu Godot představuje aplikaci Xogot přinášející Godot na iPad a iPhone. Instalovat lze z App Storu. Za Xogotem stojí Miguel de Icaza (GitHub) a společnost Xibbon.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za březen (YouTube).
ESP-IDF (Espressif IoT Development Framework), tj. oficiální vývojový framework pro vývoj aplikací na mikrokontrolérech řady ESP32, byl vydán v nové verzi 6.0. Detaily na portálu pro vývojáře.
DeepMind (Alphabet) představila novou verzi svého multimodálního modelu, Gemma 4. Modely jsou volně k dispozici (Ollama, Hugging Face a další) ve velikostech 5-31 miliard parametrů, s kontextovým oknem 128k až 256k a v dense i MoE variantách. Modely zvládají text, obrázky a u menších verzí i audio. Modely jsou optimalizované pro běh na desktopových GPU i mobilních zařízeních, váhy všech těchto modelů jsou uvolněny pod licencí Apache 2.0. Návod na spuštění je už i na Unsloth.
Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 3. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).
Průkopnická firma FingerWorks kolem roku 2000 vyvinula vícedotykové trackpady s gesty a klávesnice jako TouchStream LP. V roce 2005 ji koupil Apple, výrobu těchto produktů ukončil a dotykové technologie využil při vývoji iPhone. Multiplatformní projekt Apple Magic TouchstreamLP nyní implementuje funkcionalitu TouchStream LP na současném Apple Magic Trackpad, resp. jejich dvojici. Diskuze k vydání probíhá na Redditu.
Byla vydána nová verze 10.3 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu bezpečnostních oprav, vylepšení funkcí a oprav chyb.
Cloudflare představil open source redakční systém EmDash. Jedná se o moderní náhradu WordPressu, která řeší bezpečnost pluginů. Administrátorské rozhraní lze vyzkoušet na EmDash Playground.
Bratislava OpenCamp 2026 zverejnil program a spustil registráciu. Štvrtý ročník komunitnej konferencie o otvorených technológiách prinesie 19 prednášok na rôzne technologické témy. Konferencia sa uskutoční v sobotu 25. apríla 2026 v priestoroch FIIT STU v Bratislave.
char *end; //pouzito pro kontrolu konverze
unsigned int pocet_zidli= strtoul(argv[1], &end, 0);
if (*end != '\0')
{//osetreni vstupu argv[1]
fprintf(stderr, "%s\n", chybove_zpravy[CHYBA_ARGV1]);
return -1;
}
zkoušel jsem to takhle. strtoul ale převádí string na unsigned long a já to uložím do unsigned int, je to problém?
A pak ještě mi to hází když zadám např -1, nějaké hodně velké číslo, jak to prosím ošetřím děkuji.
char *end;
int pocet_zidli= strtoul(argv[1], &end, 0);
if (errno == ERANGE || *end != '\0' || pocet_zidli < 0)
{//osetreni vstupu argv[1]
fprintf(stderr, "%s\n", chybove_zpravy[CHYBA_ARGV]);
return -1;
}
btw nejsou nekde man. stranky v CZ, angličtinu neovladam a resim skolni projekt s procesy a vubec nevim kde hledat info :/ jak zacit. Pritom pri prihlasovani na Bc. nikde nebylo psano, ze vsechno bude v AJ, kdyz se anglictina vyucuje az na Bc. To uz je jina kapitola..
strtoul převádí na unsigned long, nikoliv unsigned int. Pokud to rovnou převedete na unsigned int, nemáte šanci detekovat přetečení mezi UINT_MAX a ULONG_MAX. Takže lépe si takto nadefinujte strtoui:
int strtoui(const char *str, char **end, int base)
{
unsigned long l = strtoul(str, end, base);
if (l > UINT_MAX) {
errno = ERANGE;
return UINT_MAX;
}
return l;
}
A nezapomeňte na to, že strtoul nemaže errno, pokud nedošlo k chybě, takže si jej před jejím voláním vymažte, tedy volání by mělo vypadat nějak takto:
char *end;
errno = 0;
unsigned int pocet_zidli = strtoui(argv[1], &end, 0);
if (errno == ERANGE || *end != 0) {
// Chyba
}
man strtoul:
Negative values are considered valid input and are silently converted to the equivalent unsigned long int value.Takže řešení je použít
strtol (strtoll pokud chcete celý rozsah unsigned long) a ošetřit obě meze.
Tiskni
Sdílej: