Ejemplo n.º 1
0
int CSVFile::seekToRecord (const char *key, int fieldNum)
{
    char str[LARGE];

	setToField (fieldNum);
	getShortField (str, SMALL);
	if (!_stricmp (str, key))
        return TRUE;

	reset();
	while (getLine())
	{
        setToField (fieldNum);
        getShortField (str, LARGE);
		if (!_stricmp (str, key))
			return TRUE;
	}
	return FALSE;
}
Ejemplo n.º 2
0
/**
 * Merges the contents of source (Java class Flock) with the supplied
 * struct flock.
 */
bool FUSE26Util::mergeFlock(JNIEnv *env, jobject source, struct flock *target) {
    CSLogTraceEnter("bool FUSE26Util::mergeFlock(%p, %p, %p)", env, source, target);
    bool res = false;
    do {
        jclass clazz = env->GetObjectClass(source);
        if(clazz == NULL || env->ExceptionCheck() == JNI_TRUE) {
            CSLogError("Could not get object class!");
            if(env->ExceptionCheck())
                env->ExceptionDescribe();
            break;
        }

        jlong start;
        jlong len;
        jlong pid;
        jshort type;
        jshort whence;

        if(!getLongField(env, clazz, source, "start", &start))
            break;
        if(!getLongField(env, clazz, source, "len", &len))
            break;
        if(!getLongField(env, clazz, source, "pid", &pid))
            break;
        if(!getShortField(env, clazz, source, "type", &type))
            break;
        if(!getShortField(env, clazz, source, "whence", &whence))
            break;

        target->l_start = start;
        target->l_len = len;
        target->l_pid = pid;
        target->l_type = type;
        target->l_whence = whence;
        
        res = true;
    }
    while(0);

    CSLogTraceLeave("bool FUSE26Util::mergeFlock(%p, %p, %p): %d", env, source, target, res);
    return res;
}
Ejemplo n.º 3
0
jobject getFieldValue(JNIEnv * env, jobject obj, jclass fieldClass,
		jfieldID fieldId) {
	char* signature;
	(*jvmti)->GetClassSignature(jvmti, fieldClass, &signature, 0 );
	if (strcmp(signature, "Z") == 0) {
		return getBooleanField(env, obj, fieldId);
	} else if (strcmp(signature, "B") == 0) {
		return getByteField(env, obj, fieldId);
	} else if (strcmp(signature, "C") == 0) {
		return getCharField(env, obj, fieldId);
	} else if (strcmp(signature, "S") == 0) {
		return getShortField(env, obj, fieldId);
	} else if (strcmp(signature, "I") == 0) {
		return getIntField(env, obj, fieldId);
	} else if (strcmp(signature, "J") == 0) {
		return getLongField(env, obj, fieldId);
	} else if (strcmp(signature, "F") == 0) {
		return getFloatField(env, obj, fieldId);
	} else if (strcmp(signature, "D") == 0) {
		return getDoubleField(env, obj, fieldId);
	} else {
		return getObjectField(env, obj, fieldId);
	}
}