case ',':	case '.':	case '?':       case ' ':
case ',':	case '.':	case '?': case ' ': case '/':
  private void writeFun(OutputStream o)     throws java.io.IOException  {    if(!quoted) {      for(int i=0; i<fun.length(); i++)				o.write(fun.charAt(i));    } else {      boolean escaped = false;      o.write('"');      for(int i=0; i<fun.length(); i++) {				char c = fun.charAt(i);				switch(c) {					case '\n':	o.write('\\');	o.write('n');	break;					case '\t':	o.write('\\');	o.write('t');	break;					case '\b':	o.write('\\');	o.write('b');	break;					case '\r':	o.write('\\');	o.write('r');	break;					case '\f':	o.write('\\');	o.write('f');	break;					case '\\':	o.write('\\');	o.write('\\');	break;					case '\'':	o.write('\\');	o.write('\'');	break;					case '\"':	o.write('\\');	o.write('\"');	break;					case '!':	case '@':	case '#':	case '$':					case '%':	case '^':	case '&':	case '*':					case '(':	case ')':	case '-':	case '_':					case '+':	case '=':	case '|':	case '~':					case '{':	case '}':	case '[':	case ']':					case ';':	case ':':	case '<':	case '>':					case ',':	case '.':	case '?':       case ' ':						o.write(c);						break;					default:    						if(Character.isLetterOrDigit(c)) {							o.write(c);						} else {							o.write('\\');							o.write((char)((int)'0' + (int)c/64));							c = (char)(c % 64);							o.write((char)((int)'0' + (int)c/8));							c = (char)(c % 8);							o.write((char)((int)'0' + (int)c));						}				}      }      o.write('"');    }  }