From 63b61cd19ff1ae741a8c3403c1c3fa12bea1c893 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Fri, 4 May 2001 21:02:15 +0000 Subject: Revert much of previous erroneous checkin. Add ChangeLog entry. * pinfo.h: Correctly set __SIGOFFSET. * path.cc (hash_path_name): Avoid calling library functions for simple copying of characters. * shortcut.c: Use WIN32_LEAN_AND_MEAN. * smallprint.c: Ditto. * environ.cc (getwinenv): Minor clarity fix. * localtime.c: No need to include windows.h * string.h: New file. --- winsup/cygwin/string.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 winsup/cygwin/string.h (limited to 'winsup/cygwin/string.h') diff --git a/winsup/cygwin/string.h b/winsup/cygwin/string.h new file mode 100644 index 000000000..20bf6fdba --- /dev/null +++ b/winsup/cygwin/string.h @@ -0,0 +1,44 @@ +/* string.h: Extra string defs + + Copyright 2001 Red Hat, Inc. + +This file is part of Cygwin. + +This software is a copyrighted work licensed under the terms of the +Cygwin license. Please consult the file "CYGWIN_LICENSE" for +details. */ + +#ifndef _CYGWIN_STRING_H +#define _CYGWIN_STRING_H + +#include_next + +#ifdef __cplusplus +extern "C" { +#endif + +#undef strchr +#define strchr cygwin_strchr +extern inline __stdcall char * +strchr (const char *s, int c) +{ + register char * res; + __asm__ __volatile__ (" + movb %%al,%%ah\n\ + 1: movb (%1),%%al\n\ + cmpb %%ah,%%al\n\ + je 2f\n\ + incl %1\n\ + testb %%al,%%al\n\ + jne 1b\n\ + xorl %1,%1\n\ + 2: movl %1,%0\n\ + ":"=a" (__res), "=r" (s) + :"0" (c), "1" (s)); + return res; +} + +#ifdef __cplusplus +} +#endif +#endif /* _CYGWIN_STRING_H */ -- cgit v1.2.3