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.1 by pajs, Thu Oct 9 15:57:05 2003 UTC vs.
Revision 1.7 by pajs, Sat Oct 18 14:00:21 2003 UTC

# Line 1 | Line 1
1 + /*
2 + * i-scream central monitoring system
3 + * http://www.i-scream.org
4 + * Copyright (C) 2000-2002 i-scream
5 + *
6 + * This program is free software; you can redistribute it and/or
7 + * modify it under the terms of the GNU General Public License
8 + * as published by the Free Software Foundation; either version 2
9 + * of the License, or (at your option) any later version.
10 + *
11 + * This program is distributed in the hope that it will be useful,
12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 + * GNU General Public License for more details.
15 + *
16 + * You should have received a copy of the GNU General Public License
17 + * along with this program; if not, write to the Free Software
18 + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
19 + */
20 +
21 + #ifdef HAVE_CONFIG_H
22 + #include "config.h"
23 + #endif
24 +
25   #include <stdio.h>
26   #include <string.h>
27   #include <sys/ioctl.h>
# Line 10 | Line 34
34   #include <sys/times.h>
35   #include <limits.h>
36   #include <time.h>
37 +
38 + #ifdef HAVE_NCURSES_H
39 + #include <ncurses.h>
40 + #else
41   #include <curses.h>
42 + #endif
43  
44   typedef struct{
45          cpu_percent_t *cpu_percents;
# Line 176 | Line 205 | void display_data(){
205          diskio_stat_t *diskio_stat_ptr;
206          network_stat_t *network_stat_ptr;
207          disk_stat_t *disk_stat_ptr;
208 +        /* Size before it will start overwriting "uptime" */
209 +        char hostname[15];
210 +        char *ptr;
211  
212          move(0,12);
213 <        printw("%s", stats.general_stats->hostname);
213 >        strncpy(hostname, stats.general_stats->hostname, sizeof(hostname));
214 >        ptr=strchr(hostname, '.');
215 >        /* Some hosts give back a FQDN for hostname. To avoid this, we'll
216 >         * just blank out everything after the first "."
217 >         */
218 >        if (ptr != NULL){
219 >                *ptr = '\0';
220 >        }      
221 >        printw("%s", hostname);
222          move(0,36);
223          printw("%s", hr_uptime(stats.general_stats->uptime));
224          epoc_time=time(NULL);
# Line 218 | Line 258 | void display_data(){
258          printw("%5d", stats.user_stats->num_entries);
259  
260          /* Mem */
221
261          move(6, 12);
262          printw("%7s", size_conv(stats.mem_stats->total));      
263          move(7, 12);
# Line 286 | Line 325 | void display_data(){
325                  network_stat_ptr++;
326          }
327  
328 +        /* Disk */
329          disk_stat_ptr = stats.disk_stats;
330          for(counter=0;counter<stats.disk_entries;counter++){
331                  move(13+stats.network_entries+counter, 42);
# Line 293 | Line 333 | void display_data(){
333                  move(13+stats.network_entries+counter, 62);
334                  printw("%7s", size_conv(disk_stat_ptr->avail));
335                  move(13+stats.network_entries+counter, 73);
336 <                printw("%5.2f%%", 100.00 * ((float)disk_stat_ptr->used / (float)disk_stat_ptr->size));
336 >                printw("%5.2f%%", 100.00 * ((float) (disk_stat_ptr->size - disk_stat_ptr->avail) / (float) disk_stat_ptr->size));
337                  disk_stat_ptr++;
338          }
339  
# Line 323 | Line 363 | int get_stats(){
363                  return 1;
364   }
365  
366 + void version_num(char *progname){
367 +        fprintf(stderr, "%s version %s\n", progname, PACKAGE_VERSION);
368 +        fprintf(stderr, "\nReport bugs to <%s>.\n", PACKAGE_BUGREPORT);
369 +        exit(1);
370 + }
371 +
372 + void usage(char *progname){
373 +        fprintf(stderr, "Usage: %s [-d delay] [-v] [-h]\n\n", progname);
374 +        fprintf(stderr, "  -d    Sets the update time in seconds\n");
375 +        fprintf(stderr, "  -v    Prints version number\n");
376 +        fprintf(stderr, "  -h    Displays this help information.\n");
377 +        fprintf(stderr, "\nReport bugs to <%s>.\n", PACKAGE_BUGREPORT);
378 +        exit(1);
379 +
380 + }
381 +
382   int main(int argc, char **argv){
383  
384          extern char *optarg;
# Line 340 | Line 396 | int main(int argc, char **argv){
396  
397          int delay=2;
398  
399 <        while ((c = getopt(argc, argv, "d:")) != EOF){
399 >        while ((c = getopt(argc, argv, "vhd:")) != EOF){
400                  switch (c){
401                          case 'd':
402                                  delay = atoi(optarg);
# Line 350 | Line 406 | int main(int argc, char **argv){
406                                  }
407                                  delay--;
408                                  break;
409 +                        case 'v':
410 +                                version_num(argv[0]);  
411 +                                break;
412 +                        case 'h':
413 +                        default:
414 +                                usage(argv[0]);
415 +                                return 1;
416 +                                break;
417 +                                
418                  }
419          }
420  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines