Projekt VideoLAN a multimediální přehrávač VLC (Wikipedie) dnes slaví 25 let. Vlastní, tenkrát ještě studentský projekt, začal již v roce 1996 na vysoké škole École Centrale Paris. V první únorový den roku 2001 ale škola oficiálně povolila přelicencování zdrojových kódů na GPL a tím pádem umožnila používání VLC mimo akademickou půdu.
Moltbook je sociální síť podobná Redditu, ovšem pouze pro agenty umělé inteligence - lidé se mohou účastnit pouze jako pozorovatelé. Agenti tam například rozebírají podivné chování lidí, hledají chyby své vlastní sociální sítě, případně spolu filozofují o existenciálních otázkách 🤖.
scx_horoscope je „vědecky pochybný, kosmicky vtipný“ plně funkční plánovač CPU založený na sched_ext. Počítá s polohami Slunce a planet, fázemi měsíce a znameními zvěrokruhu. Upozornil na něj PC Gamer.
O víkendu probíhá v Bruselu konference FOSDEM 2026 (Free and Open source Software Developers’ European Meeting). Program konference je velice nabitý: 37 místností, 71 tracků, 1184 přednášejících, 1069 přednášek, prezentací a workshopů. Sledovat je lze i online. K dispozici budou jejich videozáznamy. Aktuální dění lze sledovat na sociálních sítích.
Společnost Nex Computer stojící za "notebooky bez procesorů a pamětí" NexDock představila telefon NexPhone, který může funguje jako desktop PC, stačí k němu připojit monitor, klávesnici a myš nebo NexDock. Telefon by měl být k dispozici ve třetím čtvrtletí letošního roku. Jeho cena by měla být 549 dolarů. Předobjednat jej lze s vratní zálohou 199 dolarů. V dual-bootu by měl být předinstalovaný Android s Linuxem (Debian) jako aplikací a Windows 11.
Byla vydána nová major verze 9.0 softwaru pro správu elektronických knih Calibre (Wikipedie). Přehled novinek v poznámkách k vydání. Vypíchnuta je podpora AI.
Wasmer byl vydán ve verzi 7.0. Jedná se o běhové prostředí pro programy ve WebAssembly. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
V reakci na nepopulární plán Microsoftu ještě více ve Windows prohloubit integraci umělé inteligence Copilot, Opera na sociální síti 𝕏 oznámila, že připravuje nativní linuxovou verzi prohlížeče Opera GX. Jedná se o internetový prohlížeč zaměřený pro hráče, přičemž obsahuje všechny základní funkce běžného prohlížeče Opera. Kromě integrace sociálních sítí prohlížeč například disponuje 'omezovačem', který umožňuje uživatelům omezit využití sítě, procesoru a paměti prohlížečem, aby se tak šetřily systémové zdroje pro jinou aktivitu.
NVIDIA vydala nativního klienta své cloudové herní služby GeForce NOW pro Linux. Zatím v beta verzi.
Open Gaming Collective (OGC) si klade za cíl sdružit všechny klíčové projekty v oblasti linuxového hraní počítačových her. Zakládajícími členy jsou Universal Blue a Bazzite, ASUS Linux, ShadowBlip, PikaOS a Fyra Labs. Strategickými partnery a klíčovými přispěvateli ChimeraOS, Nobara, Playtron a další. Cílem je centralizovat úsilí, takže namísto toho, aby každá distribuce udržovala samostatné opravy systému a podporu hardwaru na
… více »Dobry den,
chci poprosit s pomoci nalezeni chyby v nasledujicim kodu:
(komentuji radky kde valgrind hlasi chybu).
char *get_term(char *str, int pos)
{
int n;
int word = 0;
int w = 0, w_m = 0;
short in_word = 0;
short out_word = 0;
char **words;
for(n = 0; str[n] != '\0'; n++)
{
if (str[n] == '<' || str[n] == ' ' || str[n] == '>')
{
if (in_word)
{
if (w > w_m)
w_m = w;
}
out_word = 1;
in_word = 0;
w = 0;
}
else if (!in_word)
{
word++;
out_word = 0;
in_word = 1;
}
if (in_word)
w++;
}
/*ZDE*/ if ((words = (char **)malloc(word*(sizeof(char *)))) == NULL)
{
fprintf(stderr, "chps : %s\n", strerror(errno));
exit (1);
}
for (n = 0; n < word; n++)
{
if ((words[n] = (char *)malloc(w_m*sizeof(char))) == NULL)
{
fprintf(stderr, "chps : %s\n", strerror(errno));
exit (1);
}
}
in_word = out_word = 0;
w = w_m = word = 0;
for(n = 0; str[n] != '\0'; n++)
{
if (str[n] == '<' || str[n] == ' ' || str[n] == '>')
{
if (in_word)
{
if (w > w_m)
{
w_m = w;
}
/*ZDE*/ words[word - 1][w] = '\0';
}
out_word = 1;
in_word = 0;
w = 0;
}
else if (!in_word)
{
word++;
out_word = 0;
in_word = 1;
}
if (in_word)
words[word - 1][w++] = str[n];
}
if (pos <= word)
return(words[pos - 1]);
else
return(" ");
}
Funkce se vola napr get_term("<NAME opt1 opt2 opt3>", 2); a
vrati opt1.
Dekuji.
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
char *get_term(const char *str, int pos)
{
char *p, *q, *r;
size_t len;
if ((pos < 1) || !str) {
return NULL;
}
len = strlen(str);
if ((*str != '<') || (str[len - 1] != '>')) {
return NULL;
}
p = (char *)str + 1;
while (--pos) {
p = strchr(p, ' ');
if (!p || !*p) {
return NULL;
}
p++;
}
q = strchr(p, ' ');
if (!q) {
q = (char *)str + len - 2;
}
if (p > q) {
return NULL;
}
r = malloc(q - p + 2);
if (!r) {
return NULL;
}
memcpy(r, p, q - p + 1);
r[q - p + 1] = '\0';
return r;
}
int main()
{
const char *s = "<a b c d>";
int i;
for (i = 1; i <= 5; i++) {
char *p = get_term(s, i);
printf("%d: %s\n", i, p ? p : "not found");
if (p) {
free(p);
}
}
return 0;
}
Tiskni
Sdílej: