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.
This commit is contained in:
44
winsup/cygwin/string.h
Normal file
44
winsup/cygwin/string.h
Normal file
@@ -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 <string.h>
|
||||
|
||||
#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 */
|
Reference in New Issue
Block a user