Comments (4)
when you say "seperate the src layout into headers", would there be one .h for every .c afterwards? This would help since we use Unity/Ceedling for unit testing and Ceedling makes some file structure assumptions. (btw I'd be ok with rolling all string functions into a single safe_str_lib.c
file instead of one-function-per-header)
from safeclib.
done with 480d59c
the headers stay of course the same. we will not change the API.
it's only the internal src layout.
one single file is highly unusual for a libc. we rather have single files into an archive.
with a shared lib -flto is recommended. with a static lib not needed.
if you cannot use -shared -flto (old linker, old compiler) then a cat into a single src file is ok.
from safeclib.
I didn't really read your request, sorry. One h per c makes sense in your case. But for safeclib it would be massive overkill to include all single h files. Do the 2 new splits unsafe and extensions help?
from safeclib.
ok, I understand your file structure preference.
Yes, separating the unsafe vs extensions seems wise. In our structure we've separated what is in the C11AnnexK standard vs other related functions we've added (particularly, truncating versions since the C11AnnexK returns an empty string if the destination is too small). That way the file structure makes clear what is from the standard and what deviates.
from safeclib.
Related Issues (20)
- Arm64 compilation has incorrect assembly instructions HOT 3
- fix Cirrus CI HOT 1
- `getenv_s` calls error handler for "normal" errors HOT 3
- fix new mingw64 tmpfile_s error
- Setting sl_default_handler to abort_handler_s before runtime HOT 4
- fprintf_s printing NULL characters to file HOT 2
- check strpbrk_s for slen overflow or early exit with small slen
- s,handle_str_bos_overload,handle_str_bos_overflow,
- add n2809: thrd_set_constraint_handler_s HOT 1
- getenv_s problems with NULL terminator? HOT 3
- dont set errno = 0 HOT 1
- It's "`NUL` terminated"..... HOT 3
- Using safeclib with vxWorks HOT 1
- Is it "safe" to have large values of RSIZE_MAX_MEM? HOT 2
- Compiling on Apple M1/M2/M3 HOT 2
- Release 3.8.0? HOT 1
- Build issue on RHEL 8.6 HOT 1
- Implicit declaration of fileno in vfprintf_s.c HOT 4
- CMake support? HOT 1
- Non-portable format strings HOT 4
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 safeclib.