jdk/src/windows/bin/cmdtoargs.c
changeset 15523 cc0ee864bfb5
parent 13410 e667545511c7
child 17714 04271182b2c1
equal deleted inserted replaced
15522:e6d9ef53b499 15523:cc0ee864bfb5
     1 /*
     1 /*
     2  * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     7  * published by the Free Software Foundation.  Oracle designates this
   102             }
   102             }
   103             break;
   103             break;
   104 
   104 
   105         case ' ':
   105         case ' ':
   106         case '\t':
   106         case '\t':
       
   107             if (prev == '\\') {
       
   108                 for (i = 0 ; i < slashes; i++) {
       
   109                    *dest++ = prev;
       
   110                 }
       
   111             }
   107             if (quotes % 2 == 1) {
   112             if (quotes % 2 == 1) {
   108                 *dest++ = ch;
   113                 *dest++ = ch;
   109             } else {
   114             } else {
   110                 separator = JNI_TRUE;
   115                 separator = JNI_TRUE;
   111             }
   116             }
   589     v = new Vector(argv[0], "../../");
   594     v = new Vector(argv[0], "../../");
   590     v->add("../../", FALSE);
   595     v->add("../../", FALSE);
   591     // v->disable();
   596     // v->disable();
   592     vectors[i++] = v;
   597     vectors[i++] = v;
   593 
   598 
       
   599     v= new Vector(argv[0], "a b\\\\ d");
       
   600     v->add("a", FALSE);
       
   601     v->add("b\\\\", FALSE);
       
   602     v->add("d", FALSE);
       
   603     vectors[i++] = v;
       
   604 
   594     dotest(vectors);
   605     dotest(vectors);
   595     printf("All tests pass [%d]\n", i);
   606     printf("All tests pass [%d]\n", i);
   596     doexit(0);
   607     doexit(0);
   597 }
   608 }
   598 #endif /* IDE_STANDALONE */
   609 #endif /* IDE_STANDALONE */