ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/libstatgrab/src/saidar/saidar.c
(Generate patch)

Comparing projects/libstatgrab/src/saidar/saidar.c (file contents):
Revision 1.30 by tdb, Mon Oct 11 11:53:44 2004 UTC vs.
Revision 1.34 by tdb, Wed Sep 7 14:15:40 2005 UTC

# Line 69 | Line 69 | stats_t stats;
69   char *size_conv(long long number){
70          char type[] = {'B', 'K', 'M', 'G', 'T'};
71          int x=0;
72 +        int sign=1;
73          static char string[10];
74  
75 +        if(number < 0){
76 +                sign=-1;
77 +                number=-number;
78 +        }
79 +
80          for(;x<5;x++){
81                  if( (number/1024) < (100)) {
82                          break;
# Line 78 | Line 84 | char *size_conv(long long number){
84                  number = (number/1024);
85          }
86  
87 <        snprintf(string, 10, "%lld%c", number, type[x]);        
87 >        number = number*sign;
88 >
89 >        snprintf(string, 10, "%lld%c", number, type[x]);
90          return string;
91          
92   }
# Line 327 | Line 335 | void display_data(){
335                  r=0;
336                  w=0;
337                  for(counter=0;counter<stats.disk_io_entries;counter++){
338 +                        char name[12];
339 +                        strncpy(name, disk_io_stat_ptr->disk_name, sizeof(name));
340 +                        name[sizeof(name)-1] = '\0'; /* strncpy doesn't terminate longer strings */
341                          move(line, 0);
342 <                        printw("%s", disk_io_stat_ptr->disk_name);
342 >                        printw("%s", name);
343                          move(line, 12);
344                          rt = (disk_io_stat_ptr->systime)? (disk_io_stat_ptr->read_bytes/disk_io_stat_ptr->systime): disk_io_stat_ptr->read_bytes;
345                          printw("%7s", size_conv(rt));
# Line 354 | Line 365 | void display_data(){
365                  /* Network */
366                  network_stat_ptr = stats.network_io_stats;
367                  for(counter=0;counter<stats.network_io_entries;counter++){
368 +                        char name[20];
369 +                        strncpy(name, network_stat_ptr->interface_name, sizeof(name));
370 +                        name[sizeof(name)-1] = '\0'; /* strncpy doesn't terminate longer strings */
371                          move(line, 42);
372 <                        printw("%s", network_stat_ptr->interface_name);
372 >                        printw("%s", name);
373                          move(line, 62);
374                          rt = (network_stat_ptr->systime)? (network_stat_ptr->rx / network_stat_ptr->systime): network_stat_ptr->rx;
375                          printw("%7s", size_conv(rt));
# Line 372 | Line 386 | void display_data(){
386                  /* Disk */
387                  disk_stat_ptr = stats.fs_stats;
388                  for(counter=0;counter<stats.fs_entries;counter++){
389 +                        char name[20];
390 +                        strncpy(name, disk_stat_ptr->mnt_point, sizeof(name));
391 +                        name[sizeof(name)-1] = '\0'; /* strncpy doesn't terminate longer strings */
392                          move(line, 42);
393 <                        printw("%s", disk_stat_ptr->mnt_point);
393 >                        printw("%s", name);
394                          move(line, 62);
395                          printw("%7s", size_conv(disk_stat_ptr->avail));
396                          move(line, 73);
# Line 386 | Line 403 | void display_data(){
403          refresh();
404   }
405  
406 < void sig_winch_handler(int sig){
406 > void sig_winch_handler(int dummy){
407          clear();
408          display_headings();
409          display_data();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines