87 quotes++; 88 *dest++ = ch; // emit every other consecutive quote 89 } else if (quotes == 0) { 90 quotes++; // starting quote 91 } else { 92 quotes--; // matching quote 93 } 94 slashes = 0; 95 break; 96 97 case '\\': 98 slashes++; 99 if (separator) { 100 done = JNI_TRUE; 101 separator = JNI_FALSE; 102 } 103 break; 104 105 case ' ': 106 case '\t': 107 if (quotes % 2 == 1) { 108 *dest++ = ch; 109 } else { 110 separator = JNI_TRUE; 111 } 112 slashes = 0; 113 break; 114 115 case '*': 116 case '?': 117 if (separator) { 118 done = JNI_TRUE; 119 separator = JNI_FALSE; 120 break; 121 } 122 if (quotes % 2 == 0) { 123 *wildcard = JNI_TRUE; 124 } 125 if (prev == '\\') { 126 *dest++ = prev; | 87 quotes++; 88 *dest++ = ch; // emit every other consecutive quote 89 } else if (quotes == 0) { 90 quotes++; // starting quote 91 } else { 92 quotes--; // matching quote 93 } 94 slashes = 0; 95 break; 96 97 case '\\': 98 slashes++; 99 if (separator) { 100 done = JNI_TRUE; 101 separator = JNI_FALSE; 102 } 103 break; 104 105 case ' ': 106 case '\t': 107 if (prev == '\\') { 108 for (i = 0 ; i < slashes; i++) { 109 *dest++ = prev; 110 111 } 112 } 113 if (quotes % 2 == 1) { 114 *dest++ = ch; 115 } else { 116 separator = JNI_TRUE; 117 } 118 slashes = 0; 119 break; 120 121 case '*': 122 case '?': 123 if (separator) { 124 done = JNI_TRUE; 125 separator = JNI_FALSE; 126 break; 127 } 128 if (quotes % 2 == 0) { 129 *wildcard = JNI_TRUE; 130 } 131 if (prev == '\\') { 132 *dest++ = prev; |