/* 日本語文字列内のコントロールコード指定を展開する */

#include "deftype.h"
// toupperがマクロ化されると困るのでctype.hはincludeしない

int jctrlstr(unchar *str)
{
int i=0,j=0,c;
	do {
		c=str[i++];
		if (check_kanji1(c)) { /* 漢字の時 */
			str[j++]=c;
			c=str[i++];
		} else { /* 漢字でない時 */
			if (c=='^') {
				/* ^ + @,A〜Z,[\]^_ = CTRL+@,A〜Z,[\]^_ */
				/* ^' = " */
				/* ^~ = ^ */
				/* ^. = スペース */
				/* その他は^が無視されるだけ */
				c=toupper(str[i++]);
				if (c>='@' && c<='_') c-='@';
				else
				if (c=='\'') c='\"';
				else
				if (c=='~') c='^';
				else
				if (c=='.') c=' ';
 			}
 		}
		str[j++]=c;
	} while (c!=0);
	return(j-1); /* 展開後の文字列長さ。必ず同じか短くなる:-1 for skip EOS */
}
