forked from kofal.net/zmk
refactor(splits): Minor cleanups to periph invocation
* Add strlcpy from public domain version. * Leverage strlcpy to detect truncation of behavior dev strs, and log. * Use `offsetof` for cleaner detection on peripheral side.
This commit is contained in:
committed by
Pete Johanson
parent
b8700eaaa1
commit
7430750428
25
app/src/stdlib.c
Normal file
25
app/src/stdlib.c
Normal file
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
* Copyright (c) 2022 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <zmk/stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
/*
|
||||
* ANSI C version of strlcpy
|
||||
* Based on the NetBSD strlcpy man page.
|
||||
*
|
||||
* Nathan Myers <ncm-nospam@cantrip.org>, 2003/06/03
|
||||
* Placed in the public domain.
|
||||
*/
|
||||
|
||||
size_t strlcpy(char *dst, const char *src, size_t size) {
|
||||
const size_t len = strlen(src);
|
||||
if (size != 0) {
|
||||
memcpy(dst, src, (len > size - 1) ? size - 1 : len);
|
||||
dst[size - 1] = 0;
|
||||
}
|
||||
return len;
|
||||
}
|
||||
Reference in New Issue
Block a user