I think, the answer is yes, and you see exactly this situation.

On 10/12/06, Alexey Petrenko <[EMAIL PROTECTED]> wrote:
In fact the most interesting question: can ubidi_getLevels return
another pointer or not? If there is such possibility then we need to
store original pointer somewhere.

2006/10/12, Oleg Khaschansky <[EMAIL PROTECTED]>:
> What exactly your code is? It, probably, may rearrange the levels if
> you didn't explicitely set them for all the characters including
> trailing whitespace. If this is the case it may add some additional
> levels and relocate the array. Could you check if the size of the
> array changed?
>
> On 10/12/06, Alexey Petrenko <[EMAIL PROTECTED]> wrote:
> > Is any ICU4C gurus here?
> >
> > I'm setting an embedding levels pointer with ubidi_setPara method. And
> > it seems that ubidi_getLevels returns not the same pointer.
> >
> > Is this correct feeling or am I doing something wrong?
> >
> > SY, Alexey
> >
> >
> > 2006/10/11, Alexey Petrenko (JIRA) <[EMAIL PROTECTED]>:
> > >    [ 
http://issues.apache.org/jira/browse/HARMONY-100?page=comments#action_12441378 ]
> > >
> > > Alexey Petrenko commented on HARMONY-100:
> > > -----------------------------------------
> > >
> > > I agree with Tim's suggestion and will create a patch.
> > >
> > > > text/BidiWrapper issue?
> > > > -----------------------
> > > >
> > > >                 Key: HARMONY-100
> > > >                 URL: http://issues.apache.org/jira/browse/HARMONY-100
> > > >             Project: Harmony
> > > >          Issue Type: Bug
> > > >          Components: Classlib
> > > >            Reporter: Vladimir Gorr
> > > >
> > > > Let's consider the following test:
> > > > import java.text.Bidi;
> > > > public class Test {
> > > >       public static void main(String[] args) throws Exception {
> > > >               Bidi bd = new Bidi(new char[] { 's', 's', 's' }, 0,
> > > >                               new byte[] { (byte) -7, (byte) -2, (byte) 
-3 },
> > > >                               0, 3, 
Bidi.DIRECTION_DEFAULT_LEFT_TO_RIGHT);
> > > >               System.out.println("Expected 7, real " + "     " + 
bd.getLevelAt(0));
> > > >       }
> > > > }
> > > > In my opinion the JNI implementation of Bidi (text/BidiWrapper.c file, 
ubidi_1setPara() function) contains a potential bug, namely:
> > > > 1. If  the embeddingLevels  argument is not NULL then _embeddingLevels 
variable is initialized with the JNI GetByteArrayElements() function;
> > > > 2. ICU function (ubidi_setPara) initializes ICU inner structure and 
puts the _embeddingLevels into it;
> > > > 3. If _embeddingLevels pointer is not NULL then the JNI 
ReleaseByteArrayElements() function (with 0 as fourth parameter) is called.
> > > >     This function releases the memory (according to JNI specification) 
the _embeddingLevels pointer refers to;
> > > > 4. After that ICU inner structure isn't initialized properly. Call of 
ICU ubidi_getLevels() function can return incorrect values (see java test above).
> > > > It seems the JNI_COMMIT parameter instead of "0" should be passed to 
the ReleaseByteArrayElements() to avoid this problem.
> > > > I'd like to underline the test mentioned above works w/o any issues for 
Harmony-14 contribution (although it shouldn't sometimes IMHO).
> > > > Therefore if there are any doubts in my argumentation this issue can be 
closed as invalid.
> > >
> > > --
> > > This message is automatically generated by JIRA.
> > > -
> > > If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
> > > -
> > > For more information on JIRA, see: http://www.atlassian.com/software/jira
> > >
> > >
> > >
> >
> >
> > --
> > Alexey A. Petrenko
> > Intel Middleware Products Division
> >
> > ---------------------------------------------------------------------
> > Terms of use : http://incubator.apache.org/harmony/mailing.html
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


--
Alexey A. Petrenko
Intel Middleware Products Division

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to