home *** CD-ROM | disk | FTP | other *** search
- /* Copyright (C) 1993 Marc Stern (internet: stern@mble.philips.be) */
-
- #include "strings.h"
- #include <ctype.h>
-
- /***
- * Function : chcase
- *
- * Description : change case of a 2-byte character.
- * All special characters are translated (éèà...)
- *
- * Parameters : in char car char to translate
- * in casetype type UPPER/LOWER
- *
- * Value : type = { UPPER, LOWER }
- *
- * Decisions : If character > 255, no change made.
- *
- * Return : code of char translated
- *
- * OS/Compiler : All
- ***/
-
- int chcase( int car, casetype type )
-
- { if ( car > 255 ) return car;
-
- switch( car )
- {
- case 'à':
- case 'â':
- case 'ä':
- case 'å':
- case 'ª':
- case 'á': car = 'a'; break;
-
- case 'Ä':
- case 'Å': car = 'A'; break;
-
- case 'é':
- case 'è':
- case 'ê':
- case 'ë': car = 'e'; break;
-
- case 'É': car = 'E'; break;
-
- case 'ï':
- case 'î':
- case 'ì':
- case 'í': car = 'i'; break;
-
- case 'ô':
- case 'ö':
- case 'ò':
- case 'ó':
- case 'º': car = 'o'; break;
-
- case 'Ö': car = 'O'; break;
-
- case 'û':
- case 'ü':
- case 'ù':
- case 'ú': car = 'u'; break;
-
- case 'Ü': car = 'U'; break;
-
- case 'ÿ': car = 'y'; break;
-
- case 'ç': car = 'c'; break;
-
- case 'Ç': car = 'C'; break;
-
- case 'ñ': car = 'n'; break;
-
- case 'Ñ': car = 'N'; break;
- }
-
- if ( type == UPPER ) return toupper(car);
- if ( type == LOWER ) return tolower(car);
- return car;
- }
-