filetraverser/unix.c
author Markus Bröker<broeker.markus@googlemail.com>
Sun, 10 Feb 2019 13:17:01 +0100
changeset 173 374a86886bc5
parent 151 a8c2649cf277
permissions -rw-r--r--
LAST-DIGIT-BUG: INCREMENT before LF

/**
 * unix.c
 * Copyright (C) 2010 Markus Broeker
 */

#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <assert.h>
#include <jni.h>

int isUnixLink (const char *name)
{
    struct stat st;

    assert (lstat (name, &st) == 0);
    return (S_ISLNK (st.st_mode));
}

JNIEXPORT jint JNICALL Java_Unix_isUnixLink (JNIEnv * env, jclass jc, jstring s)
{
    const char *c_string = (*env)->GetStringUTFChars (env, s, NULL);
    return isUnixLink (c_string);
}