Společnost OpenAI představila text-to-video AI model Sora 2 pro generování realistických videí z textového popisu. Přesnější, realističtější a lépe ovladatelný než předchozí modely. Nabízí také synchronizované dialogy a zvukové efekty.
UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-1.0, tj. první stabilní vydání založené na Ubuntu 24.04 LTS.
Rakouská armáda přechází na LibreOffice. Ne kvůli licencím (16 000 počítačů). Hlavním důvodem je digitální suverenita. Prezentace v pdf z LibreOffice Conference 2025.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) upozorňuje na sérii kritických zranitelností v Cisco Adaptive Security Appliance (ASA) a Firepower Threat Defense (FTD) a Cisco IOS, CVE-2025-20333, CVE-2025-20363 a CVE-2025-20362. Zneužití těchto zranitelností může umožnit vzdálenému neautentizovanému útočníkovi spustit libovolný kód (RCE). Společnost Cisco uvedla, že si je vědoma aktivního zneužívání těchto zranitelností.
Ochrana uživatelů a zároveň příznivé podmínky pro rozvoj umělé inteligence (AI). Ministerstvo průmyslu a obchodu (MPO) připravilo minimalistický návrh implementace evropského nařízení o umělé inteligenci, tzv. AI aktu. Český zákon zajišťuje ochranu občanům a bezpečné používání AI, ale zároveň vytváří pro-inovační prostředí, ve kterém se může AI naplno rozvíjet, firmy mohou využít jeho potenciál a nebudou zatíženy zbytečnou administrativou. Návrh je nyní v meziresortním připomínkovém řízení.
Dle plánu Linus Torvalds odstranil souborový systém bcachefs z mainline Linuxu. Tvůrce bcachefs Kent Overstreet na Patreonu informuje, že bcachefs je nově distribuován jako DKMS modul.
PIF, Silver Lake a Affinity Partners kupují videoherní společnost Electronic Arts (EA) za 55 miliard dolarů (1,14 bilionu korun).
Konference LinuxDays 2025 proběhne již tento víkend 4. a 5. října v Praze v areálu ČVUT v Dejvicích na FIT. Konference znamená desítky přednášek a workshopů, zástup zajímavých osobností, místo pro setkání, spoustu nových nápadů a informací a stánky řady různých projektů: Fedora, openSUSE, vpsFree.cz, Mozilla, MacGyver - bastlíři SH, OpenAlt a mnoho dalších. Účast na konferenci je zdarma.
Před měsícem Google oznámil, že bude vyžadovat ověření identity vývojářů aplikací pro Android. Dnes se k této změně vyjádřil F-Droid, tj. instalovatelný katalog svobodných a open source aplikací pro platformu Android. Změna ohrožuje F-Droid a další otevřené platformy pro distribuci aplikací.
Po 9 týdnech vývoje od vydání Linuxu 6.16 oznámil Linus Torvalds vydání Linuxu 6.17. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies.
char* change_basename(char* full_path,char* new_basename) { char* full_path_copy = strdup(full_path); char* dirpath = dirname(full_path_copy); size_t new_path_len = strlen(dirpath)+1+strlen(new_basename); // +1 because of "/" char* new_path = (char*)malloc( new_path_len+1 ); // +1 because of terminating NULL memset(new_path, 0, new_path_len+1); strcat(new_path, dirpath); strcat(new_path, "/"); strcat(new_path, new_basename); free(full_path_copy); return new_path; }Proč full_patch a new_basename není
char const*
? Žádný z nich nemodifikujete a pro full_patch stejně děláte kopii. Ten memset je totálně zbytečnej, použití strcat, když už znáte délky řetězců z předchozích volání, je pitomost. No ono i ta zbytečná kopie full_path
je pitomost daná použití stupidní fce, která se nehodí.
Proč full_patch a new_basename není char const*?Protoze jsem maslo, tohle si fixnu.
Ten memset je totálně zbytečnejAno je, ale nicemu nevadi protoze se zavola behem behu programu asi dvakrat. Btw. kdybych ho jen vyhodil, tak ten c string nekonci \0. Ale chapu jak to myslis.
použití strcat, když už znáte délky řetězců z předchozích volání, je pitomost.hmmm?
No ono i ta zbytečná kopie full_path je pitomost daná použití stupidní fceCo jsem mel pouzit misto dirname? :-/
Btw. kdybych ho jen vyhodil, tak ten c string nekonci \0Stačí ti nastavit první byte na 0 pro první strcat(), ten ti nakonec dá další nulu pro další strcat(), ... ale jestli to voláš 2x, ok.
hmmm?
char* full_path_copy = strdup(full_path); char* dirpath = dirname(full_path_copy); size_t dirpath_len = strlen(dirpath); size_t new_basename_len = strlen(new_basename); size_t new_path_len = dirpath_len + new_basename_len + 1; char* new_path = (char*)malloc( new_path_len+1 ); memcpy(new_path, dirpath, dirpath_len); new_path[dirpath_len] = '/'; memcpy(new_path+dirpath_len+1, new_basename, new_basename_len); new_path[new_path_len] = 0; free(full_path_copy); return new_path;Nebo třeba použít stpcpy (POSIX only), ale memcpy je lepší, když už délku znám.
Co jsem mel pouzit misto dirname?Nějakej strchr() by mohl stačit. Problém s dirname je ten, že modifikuje řetězec a musíš tedy alokovat kopii, následně alokuješ další pro výsledný řetězec. To když je pak třeba v cyklu, tak to může být ee.
Tiskni
Sdílej: