home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / sun / net / www / ParseUtil.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  1.2 KB  |  59 lines

  1. package sun.net.www;
  2.  
  3. public class ParseUtil {
  4.    public static String decode(String var0) {
  5.       StringBuffer var1 = new StringBuffer();
  6.  
  7.       for(int var2 = 0; var2 < var0.length(); ++var2) {
  8.          char var3 = var0.charAt(var2);
  9.          switch (var3) {
  10.             case '%':
  11.                try {
  12.                   var1.append((char)Integer.parseInt(var0.substring(var2 + 1, var2 + 3), 16));
  13.                } catch (NumberFormatException var5) {
  14.                   throw new IllegalArgumentException();
  15.                }
  16.  
  17.                var2 += 2;
  18.                break;
  19.             default:
  20.                var1.append(var3);
  21.          }
  22.       }
  23.  
  24.       return var1.toString();
  25.    }
  26.  
  27.    public String canonizeString(String var1) {
  28.       int var2 = 0;
  29.       int var3 = var1.length();
  30.  
  31.       while((var2 = var1.indexOf("/../")) >= 0) {
  32.          if ((var3 = var1.lastIndexOf(47, var2 - 1)) >= 0) {
  33.             var1 = var1.substring(0, var3) + var1.substring(var2 + 3);
  34.          } else {
  35.             var1 = var1.substring(var2 + 3);
  36.          }
  37.       }
  38.  
  39.       while((var2 = var1.indexOf("/./")) >= 0) {
  40.          var1 = var1.substring(0, var2) + var1.substring(var2 + 2);
  41.       }
  42.  
  43.       while(var1.endsWith("/..")) {
  44.          var2 = var1.indexOf("/..");
  45.          if ((var3 = var1.lastIndexOf(47, var2 - 1)) >= 0) {
  46.             var1 = var1.substring(0, var3 + 1);
  47.          } else {
  48.             var1 = var1.substring(0, var2);
  49.          }
  50.       }
  51.  
  52.       if (var1.endsWith("/.")) {
  53.          var1 = var1.substring(0, var1.length() - 1);
  54.       }
  55.  
  56.       return var1;
  57.    }
  58. }
  59.