Fedora je od 10. února dostupná v Sýrii. Sýrie vypadla ze seznamu embargovaných zemí a Fedora Infrastructure Team mohl odblokovat syrské IP adresy.
Ministerstvo zahraničí Spojených států amerických vyvíjí online portál Freedom.gov, který umožní nejenom uživatelům v Evropě přístup k obsahu blokovanému jejich vládami. Portál bude patrně obsahovat VPN funkci maskující uživatelský provoz tak, aby se jevil jako pocházející z USA. Projekt měl být původně představen již na letošní Mnichovské bezpečnostní konferenci, ale jeho spuštění bylo odloženo.
Byla vydána pro lidi zdarma ke stažení kniha The Book of Remind věnovaná sofistikovanému kalendáři a připomínači Remind.
Grafický editor dokumentů LyX, založený na TeXu, byl vydán ve verzi 2.5.0. Oznámení připomíná 30. výročí vzniku projektu. Novinky zahrnují mj. vylepšení referencí nebo použití barev napříč aplikací, od rozhraní editoru po výstupní dokument.
F-Droid bannerem na svých stránkách a také v aplikacích F-Droid a F-Droid Basic upozorňuje na iniciativu Keep Android Open. Od září 2026 bude Android vyžadovat, aby všechny aplikace byly registrovány ověřenými vývojáři, aby mohly být nainstalovány na certifikovaných zařízeních Android. To ohrožuje alternativní obchody s aplikacemi jako F-Droid a možnost instalace aplikací mimo oficiální obchod (sideloading).
Svobodná historická realtimová strategie 0 A.D. (Wikipedie) byla vydána ve verzi 28 (0.28.0). Její kódový název je Boiorix. Představení novinek v poznámkách k vydání. Ke stažení také na Flathubu a Snapcraftu.
Multimediální server a user space API PipeWire (Wikipedie) poskytující PulseAudio, JACK, ALSA a GStreamer rozhraní byl vydán ve verzi 1.6.0 (Bluesky). Přehled novinek na GitLabu.
UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-1.2 a 20.04 OTA-12.
Byla vydána (Mastodon, 𝕏) nová stabilní verze 2.0 otevřeného operačního systému pro chytré hodinky AsteroidOS (Wikipedie). Přehled novinek v oznámení o vydání a na YouTube.
WoWee je open-source klient pro MMORPG hru World of Warcraft, kompatibilní se základní verzí a rozšířeními The Burning Crusade a Wrath of the Lich King. Klient je napsaný v C++ a využívá vlastní OpenGL renderer, pro provoz vyžaduje modely, grafiku, hudbu, zvuky a další assety z originální kopie hry od Blizzardu. Zdrojový kód je na GitHubu, dostupný pod licencí MIT.
A když ho budeš nutit zapsat 32 bitů do bajtu, tak to tam klidně zapíše??
$ gcc -Wall -c scanftest.c
scanftest.c: In function ‘main’:
scanftest.c:7:10: warning: format ‘%d’ expects argument of type ‘int *’, but argument 2 has type ‘unsigned char *’ [-Wformat=]
scanf("%d",&c);
~^ ~~
%hhd
No keď budeš ignorovať warningy, tak sa nečuduj.
Inými slovami: vieš ukázať správne napísané volanie scanf(), pri ktorom sa nedozvieš, že došlo k chybe, alebo že sa zapisuje na nesprávne miesto v pamäti?
kterému se budou vstupní data předávat z příkazového řádku - stdin
Jen pro pořádek: příkazový řádek a stdin jsou dvě různé věci.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <math.h>
typedef struct Numbers Numbers;
struct Numbers {
size_t n;
size_t cap;
double *nums;
};
enum {
MAXLINE = 100,
INIT = 1,
GROW = 2
};
void addnumber(double num, Numbers *p);
int estrtod(char *line, double *num);
int main()
{
char line[MAXLINE];
double number;
Numbers ns;
int i;
ns.nums = NULL;
while (fgets(line, MAXLINE, stdin) != NULL) {
line[strlen(line)-1] = '\0';
if (estrtod(line, &number))
addnumber(number, &ns);
}
printf("\n");
for (i = 0; i < ns.n; i++)
printf("%0.2f\n", ns.nums[i]);
free(ns.nums);
return 0;
}
void addnumber(double num, Numbers *p)
{
double *t;
if (p->nums == NULL) {
p->nums = malloc(INIT * sizeof(double));
p->n = 0;
p->cap = INIT;
} else if (p->n == p->cap) {
t = realloc(p->nums, GROW * p->cap * sizeof(double));
p->cap *= GROW;
p->nums = t;
}
p->nums[p->n] = num;
p->n++;
}
int estrtod(char *line, double *num)
{
char *endptr;
if (*line == '\0')
return 0;
errno = 0;
*num = strtod(line, &endptr);
if (errno == ERANGE || *endptr != '\0') {
printf("error number: %s\n", line);
return 0;
}
return 1;
}
58 45.236 abc666 error number: abc666 22xyz error number: 22xyz 22222222222222222222222222222 400 58.00 45.24 22222222222222223739180810240.00 400.00Bohužel mi strtod nenastavuje errno na ERANGE při zadání příliš vysokého čísla, přičemž strtol mi funguje normálně. Možná chyba v linuxu, možná mezi počítačem a židlí, nevím. Tohle je jen takový nástřel, ještě by bylo vhodné ošetřit chyby u malloc a realloc, mít na výpis čísel vlastní funkci, rozdělit vše do souborů atd. Psát tohle v C je docela nepraktické.
Tiskni
Sdílej: