Stuff
This commit is contained in:
parent
b6ea3c20fe
commit
e76a30d1c5
|
@ -40,8 +40,8 @@ char *strncpy(char *dest, const char *src, size_t n)
|
|||
{
|
||||
size_t it;
|
||||
|
||||
for (it = 0; it < n && src[it]; i++) {
|
||||
dest[it] = src[i];
|
||||
for (it = 0; it < n && src[it]; it++) {
|
||||
dest[it] = src[it];
|
||||
}
|
||||
|
||||
while (it < n) dest[it++] = 0;
|
||||
|
@ -53,11 +53,14 @@ char *strncpy(char *dest, const char *src, size_t n)
|
|||
//
|
||||
char *strrev(char *dest, const char *src)
|
||||
{
|
||||
size_t m = 0, n = strlen(src);
|
||||
char *orig = dest;
|
||||
size_t n = strlen(src);
|
||||
|
||||
dest[n--] = '\0';
|
||||
|
||||
while (n) dest[m++] = src[n--];
|
||||
while ((*dest++ = src[n--]));
|
||||
|
||||
return orig;
|
||||
}
|
||||
|
||||
//
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
# define strlen _osk_strlen
|
||||
# define strcpy _osk_strcpy
|
||||
# define strncpy _osk_strncpy
|
||||
# define strrev _osk_strrev
|
||||
# define reverse _osk_reverse
|
||||
|
||||
# define sprintf _osk_sprintf
|
||||
|
@ -36,6 +37,7 @@
|
|||
size_t strlen(const char *);
|
||||
char *strcpy(char *, const char *);
|
||||
char *strncpy(char *, const char *, size_t);
|
||||
char *strrev(char *dest, const char *src);
|
||||
char *reverse(char *);
|
||||
|
||||
int sprintf(char *, const char *, ...);
|
||||
|
|
|
@ -34,8 +34,6 @@ static inline void *memsetq(void *ptr, ullong uval, size_t qwords)
|
|||
|
||||
//
|
||||
// Set "bytes"-many bytes starting from ptr to val
|
||||
// This is most certainely overkill, but I enjoyed doing this
|
||||
// Alignment stuff barely matters on modern processors
|
||||
//
|
||||
void *memset(void *ptr, int val, size_t bytes)
|
||||
{
|
||||
|
|
|
@ -36,20 +36,24 @@ int main(int argc, char *argv[])
|
|||
//printf("%p\n",xxx);
|
||||
//memset(xxx, 'x', sizex);
|
||||
|
||||
const char *str = "ceci est un string de test\n";
|
||||
const char *str = "ceci est un string de test!";
|
||||
char *str2 = malloc((strlen(str) + 3) * sizeof(char));
|
||||
char *str3 = malloc((strlen(str) + 3) * sizeof(char));
|
||||
|
||||
strcpy(str2, str);
|
||||
|
||||
size_t s = strlen(str2);
|
||||
//size_t s = strlen(str2);
|
||||
|
||||
printf(reverse(reverse(str2)));
|
||||
strrev(str3,str2);
|
||||
printf("%lu - %s\n", strlen(str3), str3);
|
||||
|
||||
str2[s] = '\n';
|
||||
str2[s+1] = '\0';
|
||||
printf(reverse(reverse(str2)));
|
||||
//str2[s] = '\n';
|
||||
//str2[s+1] = '\0';
|
||||
strrev(str2,str3);
|
||||
printf("%lu - %s\n", strlen(str2), str2);
|
||||
|
||||
free(str2);
|
||||
free(str3);
|
||||
|
||||
/*size_t it;
|
||||
for (it = 0; it < sizex; it++) {
|
||||
|
|
Loading…
Reference in New Issue