2003-12-11 Joel Sherrill <joel@OARcorp.com>
PR 540/rtems_misc
* cpuuse/cpuuse.c, rtmonuse/rtmonuse.c: Correct object name printing.
RCS file: /usr1/CVS/rtems/cpukit/libmisc/cpuuse/cpuuse.c,v
retrieving revision 1.10.2.2
diff -u -r1.10.2.2 cpuuse.c
|
|
|
40 | 40 | Thread_Control *the_thread; |
41 | 41 | Objects_Information *information; |
42 | 42 | unsigned32 u32_name; |
| 43 | char *cname; |
43 | 44 | char name[5]; |
44 | 45 | unsigned32 total_units = 0; |
45 | 46 | |
… |
… |
|
79 | 80 | if ( !the_thread ) |
80 | 81 | continue; |
81 | 82 | |
82 | | if ( information->is_string ) |
83 | | u32_name = *(unsigned32 *)the_thread->Object.name; |
84 | | else |
| 83 | if ( information->is_string ) { |
| 84 | cname = the_thread->Object.name; |
| 85 | name[ 0 ] = cname[0]; |
| 86 | name[ 1 ] = cname[1]; |
| 87 | name[ 2 ] = cname[2]; |
| 88 | name[ 3 ] = cname[3]; |
| 89 | name[ 4 ] = '\0'; |
| 90 | } else { |
85 | 91 | u32_name = (unsigned32)the_thread->Object.name; |
86 | | |
87 | | name[ 0 ] = (u32_name >> 24) & 0xff; |
88 | | name[ 1 ] = (u32_name >> 16) & 0xff; |
89 | | name[ 2 ] = (u32_name >> 8) & 0xff; |
90 | | name[ 3 ] = (u32_name >> 0) & 0xff; |
91 | | name[ 4 ] = '\0'; |
| 92 | name[ 0 ] = (u32_name >> 24) & 0xff; |
| 93 | name[ 1 ] = (u32_name >> 16) & 0xff; |
| 94 | name[ 2 ] = (u32_name >> 8) & 0xff; |
| 95 | name[ 3 ] = (u32_name >> 0) & 0xff; |
| 96 | name[ 4 ] = '\0'; |
| 97 | } |
92 | 98 | |
93 | 99 | if ( !isprint(name[0]) ) name[0] = '*'; |
94 | 100 | if ( !isprint(name[1]) ) name[1] = '*'; |
RCS file: /usr1/CVS/rtems/cpukit/libmisc/rtmonuse/rtmonuse.c,v
retrieving revision 1.3.8.1
diff -u -r1.3.8.1 rtmonuse.c
|
|
|
10 | 10 | #include <stdlib.h> |
11 | 11 | #include <stdio.h> |
12 | 12 | #include <assert.h> |
| 13 | #include <ctype.h> |
13 | 14 | |
14 | 15 | #include <rtems/rtmonuse.h> |
15 | 16 | |
… |
… |
|
130 | 131 | Period_usage_t *the_usage; |
131 | 132 | Rate_monotonic_Control *the_period; |
132 | 133 | unsigned32 u32_name; |
| 134 | char *cname; |
133 | 135 | char name[5]; |
| 136 | unsigned32 api_index; |
| 137 | Objects_Information *information; |
134 | 138 | |
135 | 139 | if ( !Period_usage_Information ) { |
136 | 140 | printf( "Period statistics library is not initialized\n" ); |
… |
… |
|
154 | 158 | the_period = |
155 | 159 | (Rate_monotonic_Control *)_Rate_monotonic_Information.local_table[ i ]; |
156 | 160 | |
157 | | if ( the_period->owner ) |
158 | | u32_name = *(unsigned32 *)the_period->owner->Object.name; |
159 | | else |
160 | | u32_name = rtems_build_name(' ', ' ', ' ', ' '); |
161 | | |
162 | | name[ 0 ] = (u32_name >> 24) & 0xff; |
163 | | name[ 1 ] = (u32_name >> 16) & 0xff; |
164 | | name[ 2 ] = (u32_name >> 8) & 0xff; |
165 | | name[ 3 ] = (u32_name >> 0) & 0xff; |
| 161 | name[ 0 ] = ' '; |
| 162 | name[ 1 ] = ' '; |
| 163 | name[ 2 ] = ' '; |
| 164 | name[ 3 ] = ' '; |
166 | 165 | name[ 4 ] = '\0'; |
| 166 | |
| 167 | if ( the_period->owner ) { |
| 168 | api_index = _Objects_Get_API(the_period->owner->Object.id); |
| 169 | information = _Objects_Information_table[ api_index ][ 1 ]; |
| 170 | |
| 171 | if ( information->is_string ) { |
| 172 | cname = the_period->owner->Object.name; |
| 173 | name[ 0 ] = cname[0]; |
| 174 | name[ 1 ] = cname[1]; |
| 175 | name[ 2 ] = cname[2]; |
| 176 | name[ 3 ] = cname[3]; |
| 177 | name[ 4 ] = '\0'; |
| 178 | } else { |
| 179 | u32_name = (unsigned32)the_period->owner->Object.name; |
| 180 | name[ 0 ] = (u32_name >> 24) & 0xff; |
| 181 | name[ 1 ] = (u32_name >> 16) & 0xff; |
| 182 | name[ 2 ] = (u32_name >> 8) & 0xff; |
| 183 | name[ 3 ] = (u32_name >> 0) & 0xff; |
| 184 | name[ 4 ] = '\0'; |
| 185 | } |
| 186 | } |
| 187 | |
| 188 | if ( !isprint(name[0]) ) name[0] = '*'; |
| 189 | if ( !isprint(name[1]) ) name[1] = '*'; |
| 190 | if ( !isprint(name[2]) ) name[2] = '*'; |
| 191 | if ( !isprint(name[3]) ) name[3] = '*'; |
| 192 | |
167 | 193 | |
168 | 194 | printf( |
169 | 195 | "0x%08x %4s %6d %3d %d/%d/%5.2f %d/%d/%3.2f\n", |