/**********************************************************************
 
	Copyright (C) 2003 Hirohisa MORI <joshua@nichibun.ac.jp>
 
	This program is free software; you can redistribute it 
	and/or modify it under the terms of the GLOBALBASE 
	Library General Public License (G-LGPL) as published by 

	http://www.globalbase.org/
 
	This program is distributed in the hope that it will be 
	useful, but WITHOUT ANY WARRANTY; without even the 
	implied warranty of MERCHANTABILITY or FITNESS FOR A 
	PARTICULAR PURPOSE.

**********************************************************************/



#include	"memory_debug.h"
#include	"long_char.h"


WRITABLE_CODE_TABLE *
set_wct(WCT * w,L_CHAR lcz,L_CHAR mask,WRITABLE_CODE_TABLE * alias,void * work)
{
WRITABLE_CODE_TABLE * t;
int size,i;
	t = d_alloc(sizeof(*t));
	t->work = work;
	t->lcz = lcz;
	t->mask = mask;
	size = (~mask)+1;
	if ( alias ) {
		t->tbl = 0;
		t->alias = alias;
	}
	else {
		t->tbl = d_alloc(size*sizeof(L_CHAR));
		for ( i = 0 ; i < size ; i ++ )
			t->tbl[i] = 0;
		t->alias = 0;
	}
	t->next = w->list;
	w->list = t;
	return t;
}

