Multipatformní renderovací jádro webového prohlížeče Servo je na crates.io. S vydáním verze 0.1.0 (LTS).
Nadace FreeBSD Foundation před týdnem oznámila projekt Laptop Integration Testing. Vyzvala dobrovolníky, aby pomocí nástroje otestovali podporu FreeBSD na svých zařízeních a výsledky odeslali vývojářům. Vznikla stránka Nejlepší notebooky pro FreeBSD.
Na začátku srpna vstoupí v účinnost nová evropská pravidla transparentnosti pro umělou inteligenci (AI). Zavádějí povinnost jakýkoli AI obsah označit, informovat o takzvaných deepfakes a upozornit uživatele, že komunikuje s umělou inteligencí. Cílem opatření je omezit šíření manipulativního či klamavého obsahu, zvýšit důvěru v digitální prostředí a chránit uživatele.
Connor Byrne z USA používal pro přihlašování na svůj iPhone 13 s iOS 18 heslo obsahující háček. Po aktualizaci na iOS 26.4 se už ale do telefonu nepřihlásí. Při přihlašování nelze tento háček zadat. Apple jej prostě odstranil [The Register].
Linus Torvalds vydal jádro Linux 7.0. Podrobný výčet změn je ke zhlédnutí na stránce Kernel Newbies, stručné výběry v LWN (část první, druhá).
Na čem aktuálně pracují vývojáři GNOME? Pravidelný přehled novinek v Týden v GNOME. Vypíchnout lze novou verzi 2026.1 přehrávače hudby Amberol (Flathub).
Byla vydána verze 12.0 s kódovým jménem Ecne linuxové distribuce Trisquel GNU/Linux. Založena je na Ubuntu 24.04 LTS a podporována bude do roku 2029. Trisquel patří mezi svobodné distribuce doporučované Nadací pro svobodný software (FSF).
Open-source citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 9. Přehled novinek v příspěvku na blogu.
Libre Graphics Meeting 2026, tj. čtyřdenní konference a setkání vývojářů a uživatelů svobodných a otevřených grafických softwarů, proběhne od 22. do 25. dubna v Norimberku. Dění lze sledovat na Mastodonu.
Vývojář Alexandre Gomes Gaigalas na GitHubu zveřejnil c89cc.sh, parser a kompilátor jazyka C89 napsaný v pouhém jediném skriptu o přibližně 8000 řádcích čistého bashe (bez dalších externích závislostí), který generuje ELF64 binárky pro x86-64. Jedná se o velmi jednoduchý kompilátor, který nepodporuje direktivy #include a dokonce ani funkci printf (lze použít puts), všechny dostupné deklarace lze nalézt v proměnné _BUILTIN_LIBC na konci skriptu. Skript je volně dostupný pod ISC licencí.
Zdravím,
Pokouším se napsat program a spíš se i učím, ale mám problém s tímhle. Nedokážu pořád pochopit jak to pracuje a jedinej zdroj informací je
http://library.gnome.org/devel/glib/stable/glib-Key-value-file-parser.html
http://www.gtkbook.com/tutorial.php?page=keyfile
z čehož mi to pořád není jasný
Mám napsanou funkci pro přidávání záznamů
void add_record(gchar *name, gchar *last_name, gchar *birth, gchar *name_holiday)
{
GKeyFile *keyfile;
GKeyFileFlags flags;
GError *error = NULL;
gchar *group_name;
keyfile = g_key_file_new();
flags = G_KEY_FILE_KEEP_COMMENTS;
if (!g_key_file_load_from_file (keyfile, "date_reminder.conf", flags, &error))
{
g_error (error->message);
return;
}
sprintf(group_name,"%s-%s", name, last_name);
g_strup(group_name);
/* Tohle je jenom kontrole záznamů co se tam bude vkládat */
printf("%s %s %s %s %s\n", group_name,name,last_name,birth,name_holiday);
g_key_file_set_string(keyfile, group_name, "name", name);
g_key_file_set_string(keyfile, group_name, "last_name", last_name);
g_key_file_set_string(keyfile, group_name, "birth", birth);
g_key_file_set_string(keyfile, group_name, "name_holiday", name_holiday);
}
Problém je v tom, že se mi to do souboru neuloží a vůbec nevím co mi tam chybí nebo co mám blbě, takže budu rád za každou radu, protože v tuto chvíli víc asi nevymyslím. Výsledek by měl vypadat asi takhle pro uložení např. Jan, Osel, 4.5.1978, 5.6
[JAN-OSEL] name=Jan last_name=Osel birth=4.5.1978 name_holiday=5.6
Díky :)
Vyřešeno :)
void add_record(gchar *name, gchar *last_name, gchar *birth, gchar *name_holiday)
{
GKeyFile *keyfile;
GKeyFileFlags flags;
GError *error = NULL;
gchar group_name[40];
gchar *buffer;
gsize length;
keyfile = g_key_file_new();
flags = G_KEY_FILE_KEEP_COMMENTS;
if (!g_key_file_load_from_file (keyfile, "date_reminder.conf", flags, &error))
{
g_error (error->message);
return;
}
sprintf(group_name,"%s-%s", name, last_name);
g_strup(group_name);
printf("%s %s %s %s %s\n", group_name,name,last_name,birth,name_holiday);
if(!g_key_file_has_group(keyfile,group_name)) {
g_key_file_set_string(keyfile, group_name, "name", name);
g_key_file_set_string(keyfile, group_name, "last_name", last_name);
g_key_file_set_string(keyfile, group_name, "birth", birth);
g_key_file_set_string(keyfile, group_name, "name_holiday", name_holiday);
} else {
printf("už existuje\n");
}
buffer = g_key_file_to_data(keyfile, &length, NULL);
g_file_set_contents ("date_reminder.conf", buffer, length, &error);
g_key_file_free(keyfile);
g_free(buffer);
}
sprintf(group_name,"%s-%s", name, last_name); g_strup(group_name);je dosť zvláštna. Lepšie je asi niečo ako
group_name = g_strdup_printf("%s-%s", name, last_name);(a potom samozrejme g_free(group_name);)
GKeyFile neukladá automaticky do súboru, o to sa musíš postarať ty. Funkcia g_key_file_to_data vráti reťazec obsahujúci tie kľúče/hodnoty a potom s tým musíš niečo urobiť (v tvojom prípade to musíš uložiť do toho súboru).
Díky,
Já teprv s Glib začínám takže ješte všechny ty funkce tak neznám takže nemám přehled :)
Tiskni
Sdílej: