| /* | |
| * 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 <ctype.h> | |
| #include <assert.h> | |
| 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; | |
| } | |