diff --git a/misc/Makefile.in b/misc/Makefile.in index 110251f865c..cd99257ad8e 100644 --- a/misc/Makefile.in +++ b/misc/Makefile.in @@ -28,6 +28,7 @@ C_SRCS = \ spooler.c \ spy.c \ stress.c \ + string.c \ system.c \ tapi32.c \ toolhelp.c \ diff --git a/misc/string.c b/misc/string.c new file mode 100644 index 00000000000..025f2d468d1 --- /dev/null +++ b/misc/string.c @@ -0,0 +1,67 @@ +/* + * implementation of MSDEVS extensions to string.h + * + * Copyright 1999 Corel Corporation (Albert den Haan) + */ + +/* WARNING: The Wine declarations are in tchar.h for now since string.h is + * not available to be altered in most development environments. MSDEVS 5 + * declarse these functions in its own "string.h" */ + +#include "tchar.h" + +#include +#include + +char *_strlwr(char *string) { + char *cp; + + assert(string != NULL); + + for(cp = string; *cp; cp++) { + *cp = tolower(*cp); + } + return string; +} + +char *_strrev(char *string) { + char *pcFirst, *pcLast; + assert(string != NULL); + + pcFirst = pcLast = string; + + /* find the last character of the string + * (i.e. before the assumed nul-character) */ + while(*(pcLast + 1)) { + pcLast++; + } + + /* if the following ASSERT fails look for a bad (i.e. not nul-terminated) + * string */ + assert(pcFirst <= pcLast); + + /* reverse the string */ + while(pcFirst < pcLast) { + /* swap characters across the middle */ + char cTemp = *pcFirst; + *pcFirst = *pcLast; + *pcLast = cTemp; + /* move towards the middle of the string */ + pcFirst++; + pcLast--; + } + + return string; +} + +char *_strupr(char *string) { + char *cp; + + assert(string != NULL); + + for(cp = string; *cp; cp++) { + *cp = toupper(*cp); + } + return string; +} +