11dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/*	$OpenBSD: toupper_.c,v 1.10 2005/08/09 08:36:48 kevlo Exp $ */
21dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/*
31dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * Written by J.T. Conklin <jtc@netbsd.org>.
41dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * Public domain.
51dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project */
61dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
71dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define _ANSI_LIBRARY
81dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <ctype.h>
91dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <stdio.h>
101dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
111dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include "ctype_private.h"
121dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
131dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectconst short _C_toupper_[1 + CTYPE_NUM_CHARS] = {
141dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	EOF,
151dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0x00,	0x01,	0x02,	0x03,	0x04,	0x05,	0x06,	0x07,
161dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0x08,	0x09,	0x0a,	0x0b,	0x0c,	0x0d,	0x0e,	0x0f,
171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0x10,	0x11,	0x12,	0x13,	0x14,	0x15,	0x16,	0x17,
181dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0x18,	0x19,	0x1a,	0x1b,	0x1c,	0x1d,	0x1e,	0x1f,
191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0x20,	0x21,	0x22,	0x23,	0x24,	0x25,	0x26,	0x27,
201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0x28,	0x29,	0x2a,	0x2b,	0x2c,	0x2d,	0x2e,	0x2f,
211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0x30,	0x31,	0x32,	0x33,	0x34,	0x35,	0x36,	0x37,
221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0x38,	0x39,	0x3a,	0x3b,	0x3c,	0x3d,	0x3e,	0x3f,
231dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0x40,	0x41,	0x42,	0x43,	0x44,	0x45,	0x46,	0x47,
241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0x48,	0x49,	0x4a,	0x4b,	0x4c,	0x4d,	0x4e,	0x4f,
251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0x50,	0x51,	0x52,	0x53,	0x54,	0x55,	0x56,	0x57,
261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0x58,	0x59,	0x5a,	0x5b,	0x5c,	0x5d,	0x5e,	0x5f,
271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0x60,	'A',	'B',	'C',	'D',	'E',	'F',	'G',
281dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	'H',	'I',	'J',	'K',	'L',	'M',	'N',	'O',
291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	'P',	'Q',	'R',	'S',	'T',	'U',	'V',	'W',
301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	'X',	'Y',	'Z',	0x7b,	0x7c,	0x7d,	0x7e,	0x7f,
311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0x80,	0x81,	0x82,	0x83,	0x84,	0x85,	0x86,	0x87,
321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0x88,	0x89,	0x8a,	0x8b,	0x8c,	0x8d,	0x8e,	0x8f,
331dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0x90,	0x91,	0x92,	0x93,	0x94,	0x95,	0x96,	0x97,
341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0x98,	0x99,	0x9a,	0x9b,	0x9c,	0x9d,	0x9e,	0x9f,
351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0xa0,	0xa1,	0xa2,	0xa3,	0xa4,	0xa5,	0xa6,	0xa7,
361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0xa8,	0xa9,	0xaa,	0xab,	0xac,	0xad,	0xae,	0xaf,
371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0xb0,	0xb1,	0xb2,	0xb3,	0xb4,	0xb5,	0xb6,	0xb7,
381dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0xb8,	0xb9,	0xba,	0xbb,	0xbc,	0xbd,	0xbe,	0xbf,
391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0xc0,	0xc1,	0xc2,	0xc3,	0xc4,	0xc5,	0xc6,	0xc7,
401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0xc8,	0xc9,	0xca,	0xcb,	0xcc,	0xcd,	0xce,	0xcf,
411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0xd0,	0xd1,	0xd2,	0xd3,	0xd4,	0xd5,	0xd6,	0xd7,
421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0xd8,	0xd9,	0xda,	0xdb,	0xdc,	0xdd,	0xde,	0xdf,
431dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0xe0,	0xe1,	0xe2,	0xe3,	0xe4,	0xe5,	0xe6,	0xe7,
441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0xe8,	0xe9,	0xea,	0xeb,	0xec,	0xed,	0xee,	0xef,
451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0xf0,	0xf1,	0xf2,	0xf3,	0xf4,	0xf5,	0xf6,	0xf7,
461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	0xf8,	0xf9,	0xfa,	0xfb,	0xfc,	0xfd,	0xfe,	0xff
471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
481dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectconst short *_toupper_tab_ = _C_toupper_;
501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#undef toupper
521dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectint
531dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttoupper(int c)
541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project{
551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	if ((unsigned int)c > 255)
561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project		return(c);
571dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project	return((_toupper_tab_ + 1)[c]);
581dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project}
59