Reactos
at listview 52 lines 939 B view raw
1// 2// wctrans.cpp 3// 4// Copyright (c) Microsoft Corporation. All rights reserved. 5// 6// Implementations of the towctrans and wctrans functions. 7// 8#include <corecrt.h> 9#include <ctype.h> 10#include <string.h> 11#include <wctype.h> 12 13#pragma warning(disable:4244) 14 15 16 17typedef wchar_t wctrans_t; 18 19static struct wctab 20{ 21 char const* s; 22 wctype_t value; 23} 24const tab[] = 25{ 26 { "tolower", 2 }, 27 { "toupper", 1 }, 28 { nullptr, 0 } 29}; 30 31 32 33extern "C" wint_t __cdecl towctrans(wint_t const c, wctrans_t const value) 34{ 35 return value == 1 ? towupper(c) : towlower(c); 36} 37 38extern "C" wctrans_t __cdecl wctrans(char const* const name) 39{ 40 for (unsigned n = 0; tab[n].s != 0; ++n) 41 { 42 if (strcmp(tab[n].s, name) == 0) 43 return tab[n].value; 44 } 45 46 return 0; 47} 48 49/* 50 * Copyright (c) 1992-2007 by P.J. Plauger. ALL RIGHTS RESERVED. 51 * Consult your license regarding permissions and restrictions. 52 V5.03:0009 */