changeset 29310:2ffc1fff111a

(ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros. [WINDOWSNT]: Add extern for Vw32_system_coding_system.
author Jason Rumney <jasonr@gnu.org>
date Tue, 30 May 2000 21:19:39 +0000
parents 7f49fb2648f1
children ae557edf565b
files src/coding.h
diffstat 1 files changed, 23 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/coding.h	Tue May 30 21:14:28 2000 +0000
+++ b/src/coding.h	Tue May 30 21:19:39 2000 +0000
@@ -591,6 +591,24 @@
       ? code_convert_string_norecord (name, Vdefault_file_name_coding_system, 0) \
       : name))
 
+#ifdef WINDOWSNT
+/* Encode the string STR using the specified coding system
+   for w32 system functions, if any.  */
+#define ENCODE_SYSTEM(str)						   \
+  (! NILP (Vw32_system_coding_system)					   \
+   && XFASTINT (Vw32_system_coding_system) != 0				   \
+   ? code_convert_string_norecord (str, Vw32_system_coding_system, 1)	   \
+   : str)
+
+/* Decode the string STR using the specified coding system
+   for w32 system functions, if any.  */
+#define DECODE_SYSTEM(name)						   \
+  (! NILP (Vw32_system_coding_system)					   \
+   && XFASTINT (Vw32_system_coding_system) != 0				   \
+   ? code_convert_string_norecord (str, Vw32_system_coding_system, 0)	   \
+   : str)
+#endif
+
 /* Extern declarations.  */
 extern int decode_coding P_ ((struct coding_system *, unsigned char *,
 			      unsigned char *, int, int));
@@ -681,6 +699,11 @@
 /* Coding system for file names used only when
    Vfile_name_coding_system is nil.  */
 extern Lisp_Object Vdefault_file_name_coding_system;
+
+#ifdef WINDOWSNT
+/* Coding system for w32 system strings, or nil if none.  */
+extern Lisp_Object Vw32_system_coding_system;
+#endif
 #endif
 
 #endif /* _CODING_H */