aboutsummaryrefslogtreecommitdiff
path: root/kitten.h
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2026-09-03 23:49:29 +0200
committerJavier <dev.git@javispedro.com>2026-09-04 00:06:23 +0200
commit1b9e3118374a13dc12652d87b1dd3d1ccfecbbf3 (patch)
tree0c5f7b5aef76806a449d799dba333d41eaa60aa2 /kitten.h
parent906193586d30a382d2b982419d92f80c07a65286 (diff)
downloadvbados-1b9e3118374a13dc12652d87b1dd3d1ccfecbbf3.tar.gz
vbados-1b9e3118374a13dc12652d87b1dd3d1ccfecbbf3.zip
embed language & unicode tables into main executables
use KITTENC to embed all NLS files into executable KITTENC does not allow loading external files anymore... embed the cp???uni.tbl (codepage -> unicode conversion tables) into the main executable too. however, we will still try to find them in PATH if user cp is missing from the internal ones. this means the distribution zip/flp now contain much fewer files. con: some utilities now need to built in the host (kittenc & unitbl2c) this may make the build less portable; so far unix and dos/386 still work.
Diffstat (limited to 'kitten.h')
-rw-r--r--kitten.h50
1 files changed, 24 insertions, 26 deletions
diff --git a/kitten.h b/kitten.h
index 3ce631d..b38b688 100644
--- a/kitten.h
+++ b/kitten.h
@@ -20,45 +20,43 @@
*/
-#ifndef _CATGETS_H
-#define _CATGETS_H
+#ifndef KITTEN_H
+#define KITTEN_H
#ifdef __cplusplus
-extern "C" {
+extern "C"
+{
#endif
-/* Data types */
+#define _(catalog,messageid,message) kittengets(catalog,messageid,message)
+
+#ifdef NO_KITTEN
+
+#define kittengets(x,y,z) (z)
+#define kittenclose()
+#define kittenopen(a)
-#if defined(__GNUC__)
-typedef int __attribute__((used)) nl_catd;
#else
-typedef int nl_catd;
-#endif
+
+/* Data types */
+
+#define nl_catd int
/* Functions */
-#ifdef NOCATS /* #define NOCATS to disable completely */
-#define catgets(c,x,y,s) s
-#define catopen(x,y) 1
-#define catclose(x)
-#define _(x,y,s) s
-#else
-#define catgets(catalog,set,message_number,message) kittengets(set,message_number,message)
-#define catopen(name,flag) kittenopen(name)
-#define catclose(catalog) kittenclose()
-#define _(set,message_number,message) kittengets(set,message_number,message)
-#endif
-const char *kittengets(int setnum, int msgnum, const char *message);
-nl_catd kittenopen(char *name);
-void kittenclose (void);
+#define catgets(catalog, set,message_number,message) _kittengets((catalog << 8) + set,default_message)
+#define catopen(name,flag) kittenopen(argv[0])
+#define catclose(catalog)
-int get_line (int file, char *buffer, int size);
+#define kittengets(catalog, messageid,message) _kittengets((catalog << 8) + messageid,message)
+#define kittenclose(catalog)
-int kitten_extract_response(const char *s, const char *delimiters,
- char *responses, int num);
+ const char *_kittengets (int messageid, const char *message);
+ nl_catd kittenopen (const char *exename);
+#endif /*NO_KITTEN */
#ifdef __cplusplus
}
#endif
-#endif /* _CATGETS_H */
+#endif /* KITTEN_H */