ps: restore missing space when environment is displayed
This commit restores the missing space between command lines and the environment when the later is being displayed. Below is a brief history of that elusive character. commitbb4f08ba29Date: Thu Aug 11 07:42:14 2011 +1000 The ps program was altered for improved args/comm compliance. At this time, the needed space was present due to a buglet in the new library read_unvectored function used by fill_cmdline_cvt. commita5881b5a4eDate: Thu Dec 8 10:19:38 2011 -0600 The trailing space was eliminated so that the file2strvec and fill_cmdline_cvt returned command lines contained no trailing space. However, this created a buglet when control group hierarchies were displayed and the final cgroup was empty. This is also where the undetected ps buglet was created. commitc3a1239efeDate: Sun Dec 11 12:00:50 2011 -0600 The control group anomaly was fixed but the impact on ps args/environ was still not detected. Signed-off-by: Jim Warner <james.warner@comcast.net>
This commit is contained in:
		
							
								
								
									
										10
									
								
								ps/output.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								ps/output.c
									
									
									
									
									
								
							@@ -384,8 +384,11 @@ static int pr_args(char *restrict const outbuf, const proc_t *restrict const pp)
 | 
			
		||||
    endp += escape_command(endp, pp, OUTBUF_SIZE, &rightward, ESC_DEFUNCT);
 | 
			
		||||
 | 
			
		||||
  if(bsd_e_option && rightward>1) {
 | 
			
		||||
    if(pp->environ && *pp->environ)
 | 
			
		||||
    if(pp->environ && *pp->environ) {
 | 
			
		||||
      *endp++ = ' ';
 | 
			
		||||
      rightward--;
 | 
			
		||||
      endp += escape_strlist(endp, pp->environ, OUTBUF_SIZE, &rightward);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  return max_rightward-rightward;
 | 
			
		||||
}
 | 
			
		||||
@@ -408,8 +411,11 @@ static int pr_comm(char *restrict const outbuf, const proc_t *restrict const pp)
 | 
			
		||||
    endp += escape_command(endp, pp, OUTBUF_SIZE, &rightward, ESC_DEFUNCT);
 | 
			
		||||
 | 
			
		||||
  if(bsd_e_option && rightward>1) {
 | 
			
		||||
    if(pp->environ && *pp->environ)
 | 
			
		||||
    if(pp->environ && *pp->environ) {
 | 
			
		||||
      *endp++ = ' ';
 | 
			
		||||
      rightward--;
 | 
			
		||||
      endp += escape_strlist(endp, pp->environ, OUTBUF_SIZE, &rightward);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  return max_rightward-rightward;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user