V Londýně probíhá dvoudenní Ubuntu Summit 25.10. Na programu je řada zajímavých přednášek. Zhlédnout je lze také na YouTube (23. 10. a 24. 10.).
Gemini CLI umožňuje používání AI Gemini přímo v terminálu. Vydána byla verze 0.10.0.
Konference OpenAlt 2025 proběhne již příští víkend 1. a 2. listopadu v Brně. Nabídne přibližně 80 přednášek a workshopů rozdělených do 7 tematických tracků. Program se může ještě mírně měnit až do samotné konference, a to s ohledem na opožděné úpravy abstraktů i případné podzimní virózy. Díky partnerům je vstup na konferenci zdarma. Registrace není nutná. Vyplnění formuláře však pomůže s lepším plánováním dalších ročníků konference.
Samsung představil headset Galaxy XR se 4K Micro-OLED displeji, procesorem Snapdragon XR2+ Gen 2, 16 GB RAM, 256 GB úložištěm, operačním systémem Android XR a Gemini AI.
Před konferencí Next.js Conf 2025 bylo oznámeno vydání nové verze 16 open source frameworku Next.js (Wikipedie) pro psaní webových aplikací v Reactu. Přehled novinek v příspěvku na blogu.
Sovereign Tech Fund oznámil finanční podporu následujících open source projektů: Scala, SDCC, Let's Encrypt, Servo, chatmail, Drupal, Fedify, openprinting, PHP, Apache Arrow, OpenSSL, R Project, Open Web Docs, conda, systemd a phpseclib.
Bylo vydáno OpenBSD 7.8. S předběžnou podporou Raspberry Pi 5. Opět bez písničky.
Valkey (Wikipedie) byl vydán v nové major verzi 9.0. Valkey je fork Redisu.
Byly publikovány informace o kritické zranitelnosti v knihovně pro Rust async-tar a jejích forcích tokio-tar, krata-tokio-tar a astral-tokio-tar. Jedná se o zranitelnost CVE-2025-62518 s CVSS 8.1. Nálezci je pojmenovali TARmageddon.
AlmaLinux přinese s verzí 10.1 podporu btrfs. XFS bude stále jako výchozí filesystém, ale instalátor nabídne i btrfs. Více informací naleznete v oficiálním oznámení.
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); ~^ ~~ %hhdNo 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: