From a919d9457fefcb535643bdc819fee768ad65a12a Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Mon, 3 Sep 2007 03:08:19 +0000 Subject: [PATCH] use sigar_net_interface_flags_to_string --- bindings/java/src/jni/javasigar.c | 8 +++++ .../java/src/org/hyperic/sigar/NetFlags.java | 33 +------------------ src/sigar_format.c | 2 ++ 3 files changed, 11 insertions(+), 32 deletions(-) diff --git a/bindings/java/src/jni/javasigar.c b/bindings/java/src/jni/javasigar.c index e1cc1267..9efa06c0 100644 --- a/bindings/java/src/jni/javasigar.c +++ b/bindings/java/src/jni/javasigar.c @@ -827,6 +827,14 @@ JNIEXPORT jobjectArray SIGAR_JNIx(getNetRouteList) return routearray; } +JNIEXPORT jstring SIGAR_JNI(NetFlags_getIfFlagsString) +(JNIEnv *env, jclass cls, jlong flags) +{ + char buf[1024]; + sigar_net_interface_flags_to_string(flags, buf); + return JENV->NewStringUTF(env, buf); +} + JNIEXPORT jobjectArray SIGAR_JNIx(getNetConnectionList) (JNIEnv *env, jobject sigar_obj, jint flags) { diff --git a/bindings/java/src/org/hyperic/sigar/NetFlags.java b/bindings/java/src/org/hyperic/sigar/NetFlags.java index 8dbddfaf..b28cc313 100644 --- a/bindings/java/src/org/hyperic/sigar/NetFlags.java +++ b/bindings/java/src/org/hyperic/sigar/NetFlags.java @@ -155,38 +155,7 @@ public class NetFlags { * @return String representation of network interface flags. * @see org.hyperic.sigar.NetInterfaceConfig#getFlags */ - public static String getIfFlagsString(long flags) { - String retval = ""; - - if (flags == 0) - retval += "[NO FLAGS] "; - if ((flags & IFF_UP) > 0) - retval += "UP "; - if ((flags & IFF_BROADCAST) > 0) - retval += "BROADCAST "; - if ((flags & IFF_DEBUG) > 0) - retval += "DEBUG "; - if ((flags & IFF_LOOPBACK) > 0) - retval += "LOOPBACK "; - if ((flags & IFF_POINTOPOINT) > 0) - retval += "POINTOPOINT "; - if ((flags & IFF_NOTRAILERS) > 0) - retval += "NOTRAILERS "; - if ((flags & IFF_RUNNING) > 0) - retval += "RUNNING "; - if ((flags & IFF_NOARP) > 0) - retval += "NOARP "; - if ((flags & IFF_PROMISC) > 0) - retval += "PROMISC "; - if ((flags & IFF_ALLMULTI) > 0) - retval += "ALLMULTI "; - if ((flags & IFF_SLAVE) > 0) - retval += "SLAVE "; - if ((flags & IFF_MULTICAST) > 0) - retval += "MULTICAST "; - - return retval; - } + public static native String getIfFlagsString(long flags); public static boolean isAnyAddress(String address) { return diff --git a/src/sigar_format.c b/src/sigar_format.c index 22f1d9f3..958f9109 100644 --- a/src/sigar_format.c +++ b/src/sigar_format.c @@ -480,6 +480,8 @@ SIGAR_DECLARE(const char *)sigar_net_connection_state_get(int state) SIGAR_DECLARE(char *) sigar_net_interface_flags_to_string(sigar_uint64_t flags, char *buf) { + *buf = '\0'; + if (flags == 0) { strcat(buf, "[NO FLAGS] "); }