#include "fat32.h"
#include "acdata.h"
#include "u2stbl.h"

void VGetLongname(unchar b[],UniCode *unicodes,int fend)
// このエントリ内にあるロングファイル名部分をUnicodeのまま抜き出す
// fend : 1=このエントリが最後
{
int i;
UniCode c;
	// １エントリ内１３文字
	for (i=1;i<0x20;i++) {
		c=ctos80(&b[i]);
		*unicodes++=c;
		if (c==0x0000) break; // これ以降は使われてない
		i++; // ２バイトで１文字
		if (i==0x0a) i=0x0d; // 次のi++で0x0e
		else if (i==0x19) i=0x1b; // 次のi++で0x1c
	}
	// ロングファイル名の長さが１３の倍数の時は終端の0x000が入らない
	// そうするとそれを見ている他の関数が異常をきたすので、
	// このエントリが最後の時のみここで一応入れておく
	if (fend) *unicodes=0x0000;
}
