#include <string.h>
#include "defines.h"
#include "acmp.h"
#include "etc.h"

int (*TwentyCMP(int mode))()
// TwentyOneのモードにしたがったファイル名比較関数を返す
{
int (*cmp)();	// ファイル名比較関数
int ret;
	// TwentyOneモードチェック
	cmp=fn8cmpi; // 8+3比較 , 大文字小文字区別無し
	if (!mode) {
		ret=TwentyOneOptions();
		if (ret==-1) ret=0; // TwentyOneは存在しない＝デフォルト比較
		if (ret!=0) {
			// ここで使うのは次のビットのみ
			//  bit30 : 大文字小文字区別有り
			//  bit27 : 8+3比較する
			if (ret&BIT27) { // 8+3比較
				cmp=(ret&BIT30? fn8cmp:fn8cmpi); // 大文字小文字区別 有り:無し
			} else { // 21文字比較=全文字そのまま比較
				cmp=(ret&BIT30? strcmp:strcmpi); // 大文字小文字区別 有り:無し
			}
		}
	}
	return(cmp);
}
