Comments (11)
I think trying to be POSIX-compliant on something that is requiring AF_NETLINK
is a little crazy. If somebody wants to use this on non-Linux, they have to support AF_NETLINK
anyway, so adding asprintf
is not unreasonable to do at the same time.
from eudev.
uclibc and musl support both
from eudev.
Yeah I'm not sure how much of an idealist I am here. We can leave this open as a reminder, but asprintf is pretty meat and potatoes these days. Its not in posix and I don't know about the BSD world, but the latter doesn't concern us since eudev is Linux specific.
from eudev.
Oops, wrong button!
from eudev.
clang -D_BSD_SOURCE=1
might solve this problem.
from eudev.
You could consider providing your own asprintf
implementation to stay compatible with the standard.
from eudev.
Is this still a concern? I don't see those warnings while compiling.
Adding #define _GNU_SOURCE
is reasonable, though, since variadic functions with implicit declarations can lead to weird issues.
from eudev.
@ericonr Did you compile on musl? Its not an issue on glibc, but I recall that it was an issue on musl.
from eudev.
Yes, on musl.
That said, I can't find out where, if anywhere, _GNU_SOURCE
is being passed to it... Or if we're just getting lucky with defaults. I will see if I can come up with a clean fix to be sure the issue never happens.
from eudev.
I recently explored this idea with another project. While asprintf() may not be part of POSIX, it really is virtually everywhere - muslc, glibc, FreeBSD, and NetBSD Not sure, but it might even be available through MINIX.
from eudev.
The makefiles for files that use this function include this snippet, and config.h
defines _GNU_SOURCE
-include $(top_builddir)/config.h
So I think this can be closed (even if it's an ugly solution).
from eudev.
Related Issues (20)
- ata path_id HOT 10
- ata path_id HOT 1
- no db file to read /run/udev/data/c13:83: No such file or directory HOT 4
- cd/dvd - lost HOT 1
- 3.2.12 tarball seems broken HOT 3
- libgudev requires libudev >= 251, but eudev just provides version 243 HOT 20
- make appimage or binary file, it run every HOT 1
- Any updates for libgudev/eudev? HOT 2
- Android Cross Compilation Eudev Error HOT 1
- Battery status remains unchanged with eudev pre 3.2.14 and libgudev 238 HOT 1
- Operator `:=` not preventing further assignments to `RUN`
- Not seeing rules in /usr/local/lib/udev/rules.d
- Video group grants access to two distinct hardware categories HOT 3
- Adelie Linux misses /dev/disk/by-label symlink to sr0 HOT 2
- nvme issue
- CONTRIBUTING: update HOT 2
- inotify_add_watch(6, /dev/loop0p1, 10) failed: No such file or directory
- udevd error message on boot: Error calling EVIOCSKEYCODE on device node ... Invalid Argument HOT 1
- Documenting eudev for future maintainers?
- BTN_ Key code names not supported HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from eudev.