show full path when no -x or -d option (was buggy)
This commit is contained in:
		
							
								
								
									
										2
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								NEWS
									
									
									
									
									
								
							@@ -10,6 +10,8 @@ ps: SIGTSTP and SIGTTOU shouldn't print bug email address    #246123
 | 
			
		||||
slabtop: compile with glibc 2.2.17 (and older, likely)
 | 
			
		||||
slabtop: fix overflow on huge NUMA boxes                #264640
 | 
			
		||||
slabtop: accept any slabinfo 2.x format              g77301
 | 
			
		||||
ps: alignment after WCHAN fixed                            ub5385
 | 
			
		||||
pmap: when no -x or -d option, show full path
 | 
			
		||||
 | 
			
		||||
procps-3.2.3 --> procps-3.2.4
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								pmap.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								pmap.c
									
									
									
									
									
								
							@@ -93,7 +93,7 @@ out_destroy:
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static const char *mapping_name(proc_t *p, unsigned KLONG addr, unsigned KLONG len, const char *mapbuf, unsigned advance, unsigned dev_major, unsigned dev_minor, unsigned long long inode){
 | 
			
		||||
static const char *mapping_name(proc_t *p, unsigned KLONG addr, unsigned KLONG len, const char *mapbuf, unsigned showpath, unsigned dev_major, unsigned dev_minor, unsigned long long inode){
 | 
			
		||||
  const char *cp;
 | 
			
		||||
 | 
			
		||||
  if(!dev_major && dev_minor==shm_minor && strstr(mapbuf,"/SYSV")){
 | 
			
		||||
@@ -104,8 +104,8 @@ static const char *mapping_name(proc_t *p, unsigned KLONG addr, unsigned KLONG l
 | 
			
		||||
 | 
			
		||||
  cp = strrchr(mapbuf,'/');
 | 
			
		||||
  if(cp){
 | 
			
		||||
    if(cp[1]) cp += advance;
 | 
			
		||||
    return cp;
 | 
			
		||||
    if(showpath) return strchr(mapbuf,'/');
 | 
			
		||||
    return cp[1] ? cp+1 : cp;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  cp = "  [ anon ]";
 | 
			
		||||
@@ -171,7 +171,7 @@ static int one_proc(proc_t *p){
 | 
			
		||||
    flags[5] = '\0';
 | 
			
		||||
 | 
			
		||||
    if(x_option){
 | 
			
		||||
      const char *cp = mapping_name(p, start, diff, mapbuf, 1, dev_major, dev_minor, inode);
 | 
			
		||||
      const char *cp = mapping_name(p, start, diff, mapbuf, 0, dev_major, dev_minor, inode);
 | 
			
		||||
      printf(
 | 
			
		||||
        (sizeof(KLONG)==8)
 | 
			
		||||
          ? "%016"KLF"x %7lu       -       -       - %s  %s\n"
 | 
			
		||||
@@ -183,7 +183,7 @@ static int one_proc(proc_t *p){
 | 
			
		||||
      );
 | 
			
		||||
    }
 | 
			
		||||
    if(d_option){
 | 
			
		||||
      const char *cp = mapping_name(p, start, diff, mapbuf, 1, dev_major, dev_minor, inode);
 | 
			
		||||
      const char *cp = mapping_name(p, start, diff, mapbuf, 0, dev_major, dev_minor, inode);
 | 
			
		||||
      printf(
 | 
			
		||||
        (sizeof(KLONG)==8)
 | 
			
		||||
          ? "%016"KLF"x %7lu %s %016Lx %03x:%05x %s\n"
 | 
			
		||||
@@ -197,7 +197,7 @@ static int one_proc(proc_t *p){
 | 
			
		||||
      );
 | 
			
		||||
    }
 | 
			
		||||
    if(!x_option && !d_option){
 | 
			
		||||
      const char *cp = mapping_name(p, start, diff, mapbuf, 0, dev_major, dev_minor, inode);
 | 
			
		||||
      const char *cp = mapping_name(p, start, diff, mapbuf, 1, dev_major, dev_minor, inode);
 | 
			
		||||
      printf(
 | 
			
		||||
        (sizeof(KLONG)==8)
 | 
			
		||||
          ? "%016"KLF"x %6luK %s  %s\n"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user