aboutsummaryrefslogtreecommitdiffstats
path: root/islang.c
diff options
context:
space:
mode:
Diffstat (limited to 'islang.c')
-rw-r--r--islang.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/islang.c b/islang.c
new file mode 100644
index 0000000..af124c7
--- /dev/null
+++ b/islang.c
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2000, NBG01720@nifty.ne.jp
+ *
+ * To compile this program:
+ * gcc -Zomf -Zcrtdll -O2 -Wall -s islang.c
+ */
+#define INCL_DOSNLS
+#include <os2.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <ctype.h>
+
+int main(int argc,char**argv){
+ if(argc<=1)
+ return 1;
+
+ if(isdigit((int)*argv[1])){
+ ULONG CpList[8],CpSize;
+ APIRET rc=DosQueryCp(sizeof(CpList),CpList,&CpSize);
+ if(rc)
+ return rc;
+ while(--argc>0)
+ if(*CpList==atoi(argv[argc]))
+ return 0;
+ }else{
+ char*lang=getenv("LANG");
+ if(!lang||!*lang){
+ lang=getenv("LANGUAGE");
+ if(!lang||!*lang)
+ return 1;
+ }
+ if(!strnicmp(lang,argv[1],2))
+ return 0;
+ }
+ return 1;
+}