Fix escape char problem.
This commit is contained in:
		
							
								
								
									
										17
									
								
								lash.c
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								lash.c
									
									
									
									
									
								
							| @@ -797,9 +797,13 @@ static void globLastArgument(struct childProgram *prog, int *argcPtr, | ||||
| 			/* we need to remove whatever \ quoting is still present */ | ||||
| 			src = dst = prog->argv[argc_l - 1]; | ||||
| 			while (*src) { | ||||
| 				if (*src != '\\') | ||||
| 				if (*src == '\\') { | ||||
| 					src++;  | ||||
| 					*dst++ = process_escape_sequence(&src); | ||||
| 				} else {  | ||||
| 					*dst++ = *src; | ||||
| 				src++; | ||||
| 					src++; | ||||
| 				} | ||||
| 			} | ||||
| 			*dst = '\0'; | ||||
| 		} else if (!rc) { | ||||
| @@ -812,11 +816,16 @@ static void globLastArgument(struct childProgram *prog, int *argcPtr, | ||||
| 	}else{ | ||||
| 	 		src = dst = prog->argv[argc_l - 1]; | ||||
| 			while (*src) { | ||||
| 				if (*src != '\\') | ||||
| 				if (*src == '\\') { | ||||
| 					src++;  | ||||
| 					*dst++ = process_escape_sequence(&src); | ||||
| 				} else {  | ||||
| 					*dst++ = *src; | ||||
| 				src++; | ||||
| 					src++; | ||||
| 				} | ||||
| 			} | ||||
| 			*dst = '\0'; | ||||
| 			 | ||||
| 			prog->globResult.gl_pathc=0; | ||||
| 			if (flags==0) | ||||
| 				prog->globResult.gl_pathv=NULL; | ||||
|   | ||||
							
								
								
									
										17
									
								
								sh.c
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								sh.c
									
									
									
									
									
								
							| @@ -797,9 +797,13 @@ static void globLastArgument(struct childProgram *prog, int *argcPtr, | ||||
| 			/* we need to remove whatever \ quoting is still present */ | ||||
| 			src = dst = prog->argv[argc_l - 1]; | ||||
| 			while (*src) { | ||||
| 				if (*src != '\\') | ||||
| 				if (*src == '\\') { | ||||
| 					src++;  | ||||
| 					*dst++ = process_escape_sequence(&src); | ||||
| 				} else {  | ||||
| 					*dst++ = *src; | ||||
| 				src++; | ||||
| 					src++; | ||||
| 				} | ||||
| 			} | ||||
| 			*dst = '\0'; | ||||
| 		} else if (!rc) { | ||||
| @@ -812,11 +816,16 @@ static void globLastArgument(struct childProgram *prog, int *argcPtr, | ||||
| 	}else{ | ||||
| 	 		src = dst = prog->argv[argc_l - 1]; | ||||
| 			while (*src) { | ||||
| 				if (*src != '\\') | ||||
| 				if (*src == '\\') { | ||||
| 					src++;  | ||||
| 					*dst++ = process_escape_sequence(&src); | ||||
| 				} else {  | ||||
| 					*dst++ = *src; | ||||
| 				src++; | ||||
| 					src++; | ||||
| 				} | ||||
| 			} | ||||
| 			*dst = '\0'; | ||||
| 			 | ||||
| 			prog->globResult.gl_pathc=0; | ||||
| 			if (flags==0) | ||||
| 				prog->globResult.gl_pathv=NULL; | ||||
|   | ||||
							
								
								
									
										17
									
								
								shell/lash.c
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								shell/lash.c
									
									
									
									
									
								
							| @@ -797,9 +797,13 @@ static void globLastArgument(struct childProgram *prog, int *argcPtr, | ||||
| 			/* we need to remove whatever \ quoting is still present */ | ||||
| 			src = dst = prog->argv[argc_l - 1]; | ||||
| 			while (*src) { | ||||
| 				if (*src != '\\') | ||||
| 				if (*src == '\\') { | ||||
| 					src++;  | ||||
| 					*dst++ = process_escape_sequence(&src); | ||||
| 				} else {  | ||||
| 					*dst++ = *src; | ||||
| 				src++; | ||||
| 					src++; | ||||
| 				} | ||||
| 			} | ||||
| 			*dst = '\0'; | ||||
| 		} else if (!rc) { | ||||
| @@ -812,11 +816,16 @@ static void globLastArgument(struct childProgram *prog, int *argcPtr, | ||||
| 	}else{ | ||||
| 	 		src = dst = prog->argv[argc_l - 1]; | ||||
| 			while (*src) { | ||||
| 				if (*src != '\\') | ||||
| 				if (*src == '\\') { | ||||
| 					src++;  | ||||
| 					*dst++ = process_escape_sequence(&src); | ||||
| 				} else {  | ||||
| 					*dst++ = *src; | ||||
| 				src++; | ||||
| 					src++; | ||||
| 				} | ||||
| 			} | ||||
| 			*dst = '\0'; | ||||
| 			 | ||||
| 			prog->globResult.gl_pathc=0; | ||||
| 			if (flags==0) | ||||
| 				prog->globResult.gl_pathv=NULL; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user