Is there a library for C, providing thread safe (high performance), and structured logging? An example for rust is the Tracing crate for rust (from Tokio). It should support several outputs as well.
The strlcpy and strlcat functions have been added. They are derived from OpenBSD, and are expected to be added to a future POSIX version.
Support for x86_64 running on Hurd has been added.
CVE-2023-25139: When the printf family of functions is called with a
format specifier that uses an (enable grouping) and a
minimum width specifier, the resulting output could be larger than
reasonably expected by a caller that computed a tight bound on the
buffer size. The resulting larger than expected output could result
in a buffer overflow in the printf family of functions.
Does C support a way to "assert" that these two arrays have the same size? And failing compilation if they are different? I want a safeguard in case I'm drunk one day and forget to keep these synchronized.
Thanks in advance.
EDIT: I found a solution. Here are some enlightening resources on the matter:
If one has POSIX extensions available, then it seems that defining _POSIX_C_SOURCE and just using getline or detdelim is the way to go. However, for source that is just C, here is a solution I've found from various sources, mainly here. I've also tried to make it more safe.
undefined
// Read line from stdin
#include <stdio.h>
#include <stdlib.h>
#define CHUNK_SIZE 16 // Allocate memory in chunks of this size
// Safe self-realloc
void *xrealloc(void *ptr, size_t size)
{
void *tmp = realloc(ptr, size);
if (!tmp) free(ptr);
return tmp;
}
// Dynamically allocate memory for char pointer from stdin
char *readline(void)
{
size_t len = 0, chunk = CHUNK_SIZE;
char *str = (char *)malloc(CHUNK_SIZE);
if (!str) return NULL;
int ch;
while((ch = getchar()) != EOF && ch != '\n' && ch != '\r') {
str[len++] = ch;
if (len == chunk) {
str = (char *)xre
dwm for Wayland - ARCHIVE: development has moved to Codeberg - djpohly/dwl
Link Actions
I am not the author of dwl. Since dwl is based on wlroots (just like the popular Sway) it already supports making screenshots using grim and screencasts using wf-recorder.
You can try out dwl from within your current WM. The default modkey is Alt. If you want to use the Super key, change #define MODKEY WLR_MODIFIER_ALT in config.h to #define MODKEY WLR_MODIFIER_LOGO and recompile. The default terminal emulator is kitty but you can change termcmd to alacritty if you want.
as the title suggests, I am looking for someone who wants to learn the C programming language. I have a decent knowledge of computer science and of a couple of programming languages (C#, Java, Python). Currently, I am studying computer science in central/western Europe. In my opinion, studying together keeps each other motivated and is more efficient. In long terms, I hope, that we can contribute to open-source projects together and improve our code quality by reviewing each others code.
If any of you has some interest in being my programming buddy, please message me or reply to this post. Preferably from a similar time zone (mine is UTC+01:00).