ADD: Early SPIFFS implementation see #257, UPDATE HF_COLIN accordingly

This commit is contained in:
cjbrigato 2019-07-22 22:56:06 +02:00
commit 5c3676ad81
36 changed files with 9258 additions and 104 deletions

View file

@ -106,3 +106,101 @@ void itoa(int n, char s[]) {
}
//////////////////////////////////////// END 'itoa' CODE
char *strcpy(char *dst, const char *src)
{
char *save = dst;
for (; (*dst = *src) != '\0'; ++src, ++dst);
return save;
}
char *strncpy(char *dst, const char *src, size_t n)
{
if (n != 0) {
char *d = dst;
const char *s = src;
do {
if ((*d++ = *s++) == 0) {
/* NUL pad the remaining n-1 bytes */
while (--n) {
*d++ = 0;
}
break;
}
} while (--n);
}
return dst;
}
int strcmp(const char *s1, const char *s2)
{
while (*s1 == *s2++) {
if (*s1++ == 0) {
return (0);
}
}
return (*(unsigned char *) s1 - *(unsigned char *) --s2);
}
char* __strtok_r(char*, const char*, char**);
char* __strtok_r(char* s, const char* delim, char** last)
{
char *spanp, *tok;
int c, sc;
if(s == NULL && (s = *last) == NULL)
return (NULL);
/*
* Skip (span) leading delimiters (s += strspn(s, delim), sort of).
*/
cont:
c = *s++;
for(spanp = (char*)delim; (sc = *spanp++) != 0;)
{
if(c == sc)
goto cont;
}
if(c == 0)
{ /* no non-delimiter characters */
*last = NULL;
return (NULL);
}
tok = s - 1;
/*
* Scan token (scan for delimiters: s += strcspn(s, delim), sort of).
* Note that delim must have one NUL; we stop if we see that, too.
*/
for(;;)
{
c = *s++;
spanp = (char*)delim;
do
{
if((sc = *spanp++) == c)
{
if(c == 0)
s = NULL;
else
s[-1] = '\0';
*last = s;
return (tok);
}
} while(sc != 0);
}
/* NOTREACHED */
}
char* strtok(char* s, const char* delim)
{
static char* last;
return (__strtok_r(s, delim, &last));
}