From 09b2bf5fb1af4b20cef92f2adda9448c5a95c8b3 Mon Sep 17 00:00:00 2001 From: TuxSH Date: Sun, 16 Jun 2019 23:20:40 +0200 Subject: [PATCH] fix build with newer gcc --- k11_extension/include/memory.h | 42 -------- k11_extension/source/memory.c | 176 --------------------------------- 2 files changed, 218 deletions(-) delete mode 100644 k11_extension/include/memory.h delete mode 100644 k11_extension/source/memory.c diff --git a/k11_extension/include/memory.h b/k11_extension/include/memory.h deleted file mode 100644 index d6257c4..0000000 --- a/k11_extension/include/memory.h +++ /dev/null @@ -1,42 +0,0 @@ -/* -* This file is part of Luma3DS -* Copyright (C) 2016-2019 Aurora Wright, TuxSH -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -* -* Additional Terms 7.b and 7.c of GPLv3 apply to this file: -* * Requiring preservation of specified reasonable legal notices or -* author attributions in that material or in the Appropriate Legal -* Notices displayed by works containing it. -* * Prohibiting misrepresentation of the origin of that material, -* or requiring that modified versions of such material be marked in -* reasonable ways as different from the original version. -*/ - -#pragma once - -#include "types.h" - -void *memcpy(void *dest, const void *src, u32 size) USED; -int memcmp(const void *buf1, const void *buf2, u32 size) USED; -void *memset(void *dest, u32 value, u32 size) USED; // thanks binutils for the nice bug involving memset. -void *memset32(void *dest, u32 value, u32 size); -u8 *memsearch(u8 *startPos, const void *pattern, u32 size, u32 patternSize); -char *strcpy(char *dest, const char *src); -char *strncpy(char *dest, const char *src, u32 size); -s32 strnlen(const char *string, s32 maxlen); -s32 strlen(const char *string); -s32 strcmp(const char *str1, const char *str2); -s32 strncmp(const char *str1, const char *str2, u32 size); -void hexItoa(u64 number, char *out, u32 digits, bool uppercase); diff --git a/k11_extension/source/memory.c b/k11_extension/source/memory.c deleted file mode 100644 index f1c59b1..0000000 --- a/k11_extension/source/memory.c +++ /dev/null @@ -1,176 +0,0 @@ -/* -* This file is part of Luma3DS -* Copyright (C) 2016-2019 Aurora Wright, TuxSH -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -* -* Additional Terms 7.b and 7.c of GPLv3 apply to this file: -* * Requiring preservation of specified reasonable legal notices or -* author attributions in that material or in the Appropriate Legal -* Notices displayed by works containing it. -* * Prohibiting misrepresentation of the origin of that material, -* or requiring that modified versions of such material be marked in -* reasonable ways as different from the original version. -*/ - -#include "memory.h" -#include "utils.h" - -void *memcpy(void *dest, const void *src, u32 size) -{ - u8 *destc = (u8 *)dest; - const u8 *srcc = (const u8 *)src; - - for(u32 i = 0; i < size; i++) - destc[i] = srcc[i]; - - return dest; -} - -int memcmp(const void *buf1, const void *buf2, u32 size) -{ - const u8 *buf1c = (const u8 *)buf1; - const u8 *buf2c = (const u8 *)buf2; - - for(u32 i = 0; i < size; i++) - { - int cmp = buf1c[i] - buf2c[i]; - if(cmp) - return cmp; - } - - return 0; -} - -void *memset(void *dest, u32 value, u32 size) -{ - u8 *destc = (u8 *)dest; - - for(u32 i = 0; i < size; i++) destc[i] = (u8)value; - - return dest; -} - -void *memset32(void *dest, u32 value, u32 size) -{ - u32 *dest32 = (u32 *)dest; - - for(u32 i = 0; i < size/4; i++) dest32[i] = value; - - return dest; -} - -//Boyer-Moore Horspool algorithm, adapted from http://www-igm.univ-mlv.fr/~lecroq/string/node18.html#SECTION00180 -u8 *memsearch(u8 *startPos, const void *pattern, u32 size, u32 patternSize) -{ - const u8 *patternc = (const u8 *)pattern; - u32 table[256]; - - //Preprocessing - for(u32 i = 0; i < 256; i++) - table[i] = patternSize; - for(u32 i = 0; i < patternSize - 1; i++) - table[patternc[i]] = patternSize - i - 1; - - //Searching - u32 j = 0; - while(j <= size - patternSize) - { - u8 c = startPos[j + patternSize - 1]; - if(patternc[patternSize - 1] == c && memcmp(pattern, startPos + j, patternSize - 1) == 0) - return startPos + j; - j += table[c]; - } - - return NULL; -} - -char *strcpy(char *dest, const char *src) -{ - u32 i; - for(i = 0; src[i] != 0; i++) - dest[i] = src[i]; - - dest[i] = 0; - - return dest; -} - -char *strncpy(char *dest, const char *src, u32 size) -{ - u32 i; - for(i = 0; i < size && src[i] != 0; i++) - dest[i] = src[i]; - - for(; i < size; i++) - dest[i] = 0; - - return dest; -} - -s32 strnlen(const char *string, s32 maxlen) -{ - s32 size; - for(size = 0; *string && size < maxlen; string++, size++); - - return size; -} - -s32 strlen(const char *string) -{ - char *stringEnd = (char *)string; - while(*stringEnd) stringEnd++; - - return stringEnd - string; -} - -s32 strcmp(const char *str1, const char *str2) -{ - while(*str1 && (*str1 == *str2)) - { - str1++; - str2++; - } - - return *str1 - *str2; -} - -s32 strncmp(const char *str1, const char *str2, u32 size) -{ - while(size && *str1 && (*str1 == *str2)) - { - str1++; - str2++; - size--; - } - if (!size) - return 0; - else - return *str1 - *str2; -} - -void hexItoa(u64 number, char *out, u32 digits, bool uppercase) -{ - const char hexDigits[] = "0123456789ABCDEF"; - const char hexDigitsLowercase[] = "0123456789abcdef"; - u32 i = 0; - - while(number > 0) - { - out[digits - 1 - i++] = uppercase ? hexDigits[number & 0xF] : hexDigitsLowercase[number & 0xF]; - number >>= 4; - } - - while(i < digits) out[digits - 1 - i++] = '0'; -}