You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alexey Petrenko (JIRA)" <ji...@apache.org> on 2007/03/20 15:39:32 UTC

[jira] Commented: (HARMONY-3373) [classlib][luni]java.io.ByteArrayOutputStream: avoid to use exception mechanism as logic in write(int)

    [ https://issues.apache.org/jira/browse/HARMONY-3373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12482406 ] 

Alexey Petrenko commented on HARMONY-3373:
------------------------------------------

Leo,

thanks for catching this up. This piece of code really need to be rewritten.

But you code is not equal to the original one since you removed (buf == null) handling.

So I suggest something like
if (buff != null) {
    if (count == buf.length) {
        expand(1);
    }
    buf[count++] = (byte) oneByte;
}

Or (buf == null) is impossible case?
What do you think?

> [classlib][luni]java.io.ByteArrayOutputStream: avoid to use exception mechanism as logic in write(int)
> ------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-3373
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3373
>             Project: Harmony
>          Issue Type: Improvement
>          Components: Classlib
>            Reporter: Leo Li
>         Assigned To: Alexey Petrenko
>         Attachments: patch-3373.diff
>
>
> In  ByteArrayOutputStream.write(int):
>      public synchronized void write(int oneByte) {
>         try {
>             buf[count] = (byte) oneByte;
>             count++;
>         } catch (IndexOutOfBoundsException e) {
>             // Expand when necessary
>             expand(1);
>             buf[count++] = (byte) oneByte;
>         } catch (NullPointerException e) {
>         }
>     }
>  Exception mechanism is adopted as a logic to judge whether current position is out of the boundary of the backing array. So, I recommend to use explicit condtion to judge it. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.