/*
SMS Server Tools
Copyright (C) 2000 Stefan Frings

This program is free software unless you got it under another license directly
from the author. You can redistribute it and/or modify it under the terms of
the GNU General Public License as published by the Free Software Foundation.
Either version 2 of the License, or (at your option) any later version.

http://www.isis.de/members/~s.frings
mailto:s.frings@mail.isis.de
 */


#include "libsms_charset.h"

#define noc 183
// non existent character

// iso 8859-1
unsigned char charset[128] = {'@', 163, '$', 165, 232, 233, 249, 236, 242, 199,
		10, 216, 248, 13, 197, 229, noc, '_', noc, noc, noc, noc, noc, noc, noc,
		noc, noc, noc, 198, 230, 223, 201, ' ', '!', 34, '#', '$', '%', '&', 39,
		'(', ')', '*', '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5',
		'6', '7', '8', '9', ':', ';', '<', '=', '>', '?', 161, 'A', 'B', 'C',
		'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q',
		'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 196, 214, 209, 220, 167,
		191, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
		'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 228,
		246, 241, 252, 224};

char ascii2sms(const char c)
{
	char found = '*'; // replacement for nonexistent characters
	int i;

	for(i = 0; i < 128; i++)
		if(c == charset[i]) {
			found = i;
			break;
		}

	return found;
}


char sms2ascii(const char c)
{
	return charset[(int)c];
}
