wine/misc/string.c

68 lines
1.3 KiB
C
Raw Normal View History

/*
* 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;
}