OctalUnescaper.java 1.82 KB
package org.apache.commons.lang3.text.translate;

import java.io.IOException;
import java.io.Writer;

public class OctalUnescaper
  extends CharSequenceTranslator
{
  private static boolean a(char paramChar)
  {
    return (paramChar >= '0') && (paramChar <= '7');
  }
  
  public int translate(CharSequence paramCharSequence, int paramInt, Writer paramWriter)
    throws IOException
  {
    int k = 0;
    int j = 0;
    int m = paramCharSequence.length() - paramInt - 1;
    StringBuilder localStringBuilder = new StringBuilder();
    int i = k;
    if (paramCharSequence.charAt(paramInt) == '\\')
    {
      i = k;
      if (m > 0)
      {
        i = k;
        if (a(paramCharSequence.charAt(paramInt + 1)))
        {
          k = paramInt + 1;
          int n = paramInt + 2;
          i = paramInt + 3;
          localStringBuilder.append(paramCharSequence.charAt(k));
          if ((m > 1) && (a(paramCharSequence.charAt(n))))
          {
            localStringBuilder.append(paramCharSequence.charAt(n));
            if (m > 2)
            {
              k = paramCharSequence.charAt(k);
              paramInt = j;
              if (k >= 48)
              {
                paramInt = j;
                if (k <= 51) {
                  paramInt = 1;
                }
              }
              if ((paramInt != 0) && (a(paramCharSequence.charAt(i)))) {
                localStringBuilder.append(paramCharSequence.charAt(i));
              }
            }
          }
          paramWriter.write(Integer.parseInt(localStringBuilder.toString(), 8));
          i = localStringBuilder.length() + 1;
        }
      }
    }
    return i;
  }
}


/* Location:              /home/merong/decompile/hackery-dex2jar.jar!/org/apache/commons/lang3/text/translate/OctalUnescaper.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */