]> code.delx.au - gnu-emacs/commitdiff
* data.c (Fbyteorder): New function.
authorJan Djärv <jan.h.d@swipnet.se>
Tue, 10 Feb 2004 17:18:34 +0000 (17:18 +0000)
committerJan Djärv <jan.h.d@swipnet.se>
Tue, 10 Feb 2004 17:18:34 +0000 (17:18 +0000)
src/data.c

index c4e3937f3fa26eb59af235ac6f9881e5c9a227cb..9268d04b04f25aff1fff1c970451b1fd4c1f65f0 100644 (file)
@@ -2879,6 +2879,20 @@ DEFUN ("lognot", Flognot, Slognot, 1, 1, 0,
   XSETINT (number, ~XINT (number));
   return number;
 }
+
+DEFUN ("byteorder", Fbyteorder, Sbyteorder, 0, 0, 0,
+       doc: /* Return the byteorder for the machine.
+Returns 66 (ASCII uppercase B) for big endian machines or 108 (ASCII
+lowercase l) for small endian machines.  */)
+     ()
+{
+  unsigned i = 0x04030201;
+  int order = *(char *)&i == 4 ? 66 : 108;
+
+  return XFASTINT (order);
+}
+
+
 \f
 void
 syms_of_data ()
@@ -3281,6 +3295,7 @@ syms_of_data ()
   defsubr (&Sadd1);
   defsubr (&Ssub1);
   defsubr (&Slognot);
+  defsubr (&Sbyteorder);
   defsubr (&Ssubr_arity);
 
   XSYMBOL (Qwholenump)->function = XSYMBOL (Qnatnump)->function;