mirror of
https://github.com/corda/corda.git
synced 2025-01-06 05:04:20 +00:00
classpath: java.nio.ByteOrder
Used by jruby. (Not saying I'm gonna implement String.format :)
This commit is contained in:
parent
f8ea506021
commit
74b070f9cc
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (c) 2008-2011, Avian Contributors
|
/* Copyright (c) 2008-2012, Avian Contributors
|
||||||
|
|
||||||
Permission to use, copy, modify, and/or distribute this software
|
Permission to use, copy, modify, and/or distribute this software
|
||||||
for any purpose with or without fee is hereby granted, provided
|
for any purpose with or without fee is hereby granted, provided
|
||||||
@ -1015,3 +1015,15 @@ Java_java_nio_channels_SocketSelector_natUpdateReadySet(JNIEnv *, jclass,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" JNIEXPORT jboolean JNICALL
|
||||||
|
Java_java_nio_ByteOrder_isNativeBigEndian(JNIEnv *, jclass)
|
||||||
|
{
|
||||||
|
union {
|
||||||
|
uint32_t i;
|
||||||
|
char c[4];
|
||||||
|
} u = {0x01020304};
|
||||||
|
|
||||||
|
if (u.c[0] == 1)
|
||||||
|
return JNI_TRUE;
|
||||||
|
return JNI_FALSE;
|
||||||
|
}
|
||||||
|
40
classpath/java/nio/ByteOrder.java
Normal file
40
classpath/java/nio/ByteOrder.java
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
/* Copyright (c) 2012, Avian Contributors
|
||||||
|
|
||||||
|
Permission to use, copy, modify, and/or distribute this software
|
||||||
|
for any purpose with or without fee is hereby granted, provided
|
||||||
|
that the above copyright notice and this permission notice appear
|
||||||
|
in all copies.
|
||||||
|
|
||||||
|
There is NO WARRANTY for this software. See license.txt for
|
||||||
|
details. */
|
||||||
|
|
||||||
|
package java.nio;
|
||||||
|
|
||||||
|
public final class ByteOrder {
|
||||||
|
public static final ByteOrder BIG_ENDIAN = new ByteOrder("BIG_ENDIAN");
|
||||||
|
public static final ByteOrder LITTLE_ENDIAN = new ByteOrder("LITTLE_ENDIAN");
|
||||||
|
|
||||||
|
private static final ByteOrder NATIVE;
|
||||||
|
private static native boolean isNativeBigEndian();
|
||||||
|
|
||||||
|
static {
|
||||||
|
if (isNativeBigEndian())
|
||||||
|
NATIVE = BIG_ENDIAN;
|
||||||
|
else
|
||||||
|
NATIVE = LITTLE_ENDIAN;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
private ByteOrder(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String toString() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ByteOrder nativeOrder() {
|
||||||
|
return NATIVE;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user