forked from KolibriOS/kolibrios
- Move source code from `trunk` into root directory. - Update build files and ASM include paths. Add SPDX license header where appropriate. - These changes also update the CI build files in `.gitea/workflows/`. - Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden. (Work towards [#75](KolibriOS/kolibrios#75), point 3) --------- Co-authored-by: Burer <burer@kolibrios.org> Reviewed-on: KolibriOS/kolibrios#425 Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com> Reviewed-by: Burer <burer@kolibrios.org> Co-authored-by: Andrew <dent.ace@gmail.com> Co-committed-by: Andrew <dent.ace@gmail.com>
21 lines
473 B
C
21 lines
473 B
C
#include "unconst.h"
|
|
#include <string.h>
|
|
|
|
char* strchr(const char* s, int c)
|
|
{
|
|
int d0;
|
|
register char* __res;
|
|
__asm__ __volatile__(
|
|
"movb %%al,%%ah\n"
|
|
"1:\tlodsb\n\t"
|
|
"cmpb %%ah,%%al\n\t"
|
|
"je 2f\n\t"
|
|
"testb %%al,%%al\n\t"
|
|
"jne 1b\n\t"
|
|
"movl $1,%1\n"
|
|
"2:\tmovl %1,%0\n\t"
|
|
"decl %0"
|
|
: "=a"(__res), "=&S"(d0)
|
|
: "1"((unsigned)s), "0"(c));
|
|
return __res;
|
|
} |