Changeset 235 for trunk/src


Ignore:
Timestamp:
Nov 27, 2009, 1:12:33 PM (16 years ago)
Author:
lpino
Message:
  • New strlen call implemented
  • New objcpy call implemented
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/plugins/org.eclipse.swt/Eclipse SWT PI/pm/library/swt.c

    r230 r235  
    8383}
    8484
     85JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_pm_OS_strlen
     86        (JNIEnv *env, jclass that, jint str)
     87{
     88    DEBUG_CALL("strlen\n")
     89
     90    return (jint) strlen((PCHAR)str);
     91}
     92
    8593/* Native<->Java Object copiers */
    8694
     
    111119
    112120    if (array) (*env)->ReleaseIntArrayElements(env, array, c_array, 0);
     121}
     122
     123JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_pm_OS_objcpy__I_3B
     124        (JNIEnv *env, jclass that, jint parray, jbyteArray array)
     125{
     126    jbyte *c_array = NULL;
     127
     128    DEBUG_CALL("objcpy\n")
     129
     130    if (array) c_array = (*env)->GetByteArrayElements(env, array, NULL);
     131   
     132    memcpy ((void*)parray, (void*)c_array, (size_t)(*env)->GetArrayLength(env, array));
     133
     134    if (array) (*env)->ReleaseByteArrayElements(env, array, c_array, 0);
     135}
     136
     137JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_pm_OS_objcpy___3BI
     138        (JNIEnv *env, jclass that, jbyteArray array, jint parray)
     139{
     140    jbyte *c_array = NULL;
     141
     142    DEBUG_CALL("objcpy\n")
     143
     144    if (array) c_array = (*env)->GetByteArrayElements(env, array, NULL);
     145   
     146    memcpy ((void*)c_array, (void*)parray, (size_t)(*env)->GetArrayLength(env, array));
     147
     148    if (array) (*env)->ReleaseByteArrayElements(env, array, c_array, 0);
    113149}
    114150
     
    16711707}
    16721708
     1709JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_pm_OS_WinQueryClipbrdData
     1710        (JNIEnv *env, jclass that, jint hab, jint fmt)
     1711{
     1712    DEBUG_CALL("WinQueryClipbrdData\n")
     1713
     1714    return (jint)WinQueryClipbrdData((HAB)hab, (MPARAM)fmt);
     1715}
     1716
    16731717JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_pm_OS_WinUpperChar
    16741718        (JNIEnv *env, jclass that, jint hab, jint ulCodepage, jint ulCountry, jint ulInchar)
Note: See TracChangeset for help on using the changeset viewer.