Fixing a bug while parsing empty arguments in csiparse.
This commit is contained in:
		
							
								
								
									
										4
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								st.c
									
									
									
									
									
								
							@ -1295,7 +1295,6 @@ tnewline(int first_col) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
csiparse(void) {
 | 
					csiparse(void) {
 | 
				
			||||||
	/* int noarg = 1; */
 | 
					 | 
				
			||||||
	char *p = csiescseq.buf, *np;
 | 
						char *p = csiescseq.buf, *np;
 | 
				
			||||||
	long int v;
 | 
						long int v;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1306,9 +1305,10 @@ csiparse(void) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	while(p < csiescseq.buf+csiescseq.len) {
 | 
						while(p < csiescseq.buf+csiescseq.len) {
 | 
				
			||||||
 | 
							np = NULL;
 | 
				
			||||||
		v = strtol(p, &np, 10);
 | 
							v = strtol(p, &np, 10);
 | 
				
			||||||
		if(np == p)
 | 
							if(np == p)
 | 
				
			||||||
			break;
 | 
								v = 0;
 | 
				
			||||||
		if(v == LONG_MAX || v == LONG_MIN)
 | 
							if(v == LONG_MAX || v == LONG_MIN)
 | 
				
			||||||
			v = -1;
 | 
								v = -1;
 | 
				
			||||||
		csiescseq.arg[csiescseq.narg++] = v;
 | 
							csiescseq.arg[csiescseq.narg++] = v;
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user