mirror of
https://github.com/tailix/libkernaux.git
synced 2025-04-14 17:32:55 -04:00
Make "kernaux_memset" signature compatible with C stdlib "memset"
This commit is contained in:
parent
cf6fc4d314
commit
e1a357418b
3 changed files with 20 additions and 12 deletions
|
@ -1,15 +1,13 @@
|
|||
#ifndef KERNAUX_INCLUDED_STDLIB
|
||||
#define KERNAUX_INCLUDED_STDLIB 1
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void kernaux_memset(
|
||||
void *buffer,
|
||||
unsigned char value,
|
||||
unsigned long size
|
||||
)
|
||||
void *kernaux_memset(void *buffer, int value, size_t size)
|
||||
__attribute__((nonnull));
|
||||
|
||||
unsigned int kernaux_strlen(const char *s) __attribute__((nonnull));
|
||||
|
|
|
@ -4,16 +4,15 @@
|
|||
|
||||
#include <kernaux/stdlib.h>
|
||||
|
||||
void kernaux_memset(
|
||||
void *const buffer,
|
||||
const unsigned char value,
|
||||
const unsigned long size
|
||||
) {
|
||||
void *kernaux_memset(void *const buffer, const int value, const size_t size)
|
||||
{
|
||||
unsigned char *const s = buffer;
|
||||
|
||||
for (unsigned long i = 0; i < size; ++i) {
|
||||
s[i] = value;
|
||||
}
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
unsigned int kernaux_strlen(const char *const s)
|
||||
|
|
|
@ -14,7 +14,7 @@ int main()
|
|||
unsigned char buffer[10] =
|
||||
{32, 13, 254, 165, 98, 36, 169, 152, 233, 222};
|
||||
|
||||
kernaux_memset(buffer, 0, sizeof(buffer));
|
||||
assert(kernaux_memset(buffer, 0, sizeof(buffer)) == buffer);
|
||||
|
||||
for (unsigned int i = 0; i < sizeof(buffer); ++i) {
|
||||
assert(buffer[i] == 0);
|
||||
|
@ -25,13 +25,24 @@ int main()
|
|||
unsigned char buffer[10] =
|
||||
{32, 13, 254, 165, 98, 36, 169, 152, 233, 222};
|
||||
|
||||
kernaux_memset(buffer, 143, sizeof(buffer));
|
||||
assert(kernaux_memset(buffer, 143, sizeof(buffer)) == buffer);
|
||||
|
||||
for (unsigned int i = 0; i < sizeof(buffer); ++i) {
|
||||
assert(buffer[i] == 143);
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
unsigned char buffer[10] =
|
||||
{32, 13, 254, 165, 98, 36, 169, 152, 233, 222};
|
||||
|
||||
assert(kernaux_memset(buffer, 0x89ABCDEF, sizeof(buffer)) == buffer);
|
||||
|
||||
for (unsigned int i = 0; i < sizeof(buffer); ++i) {
|
||||
assert(buffer[i] == 0xEF);
|
||||
}
|
||||
}
|
||||
|
||||
// kernaux_strlen
|
||||
|
||||
assert(kernaux_strlen("") == 0);
|
||||
|
|
Loading…
Add table
Reference in a new issue