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

Comparing projects/cms/source/ihost/ihost.c (file contents):
Revision 1.40 by pajs, Sun Apr 6 12:08:37 2003 UTC vs.
Revision 1.41 by pajs, Fri Aug 22 14:40:11 2003 UTC

# Line 47 | Line 47 | typedef struct{
47  
48          char *host_ip;
49          char *host_fqdn;
50 +        int preset_fqdn;
51 +        int preset_ip;
52  
53          char *server_fqdn;
54          int server_udp_port;
# Line 406 | Line 408 | int ihost_getconfig(ihost_state_t *ihost_state){
408           * this already be NULL */
409          if(ihost_state->file_list!=NULL) free(ihost_state->file_list);
410          if(ihost_state->last_modified!=NULL) free(ihost_state->last_modified);
409        if(ihost_state->host_fqdn!=NULL) free(ihost_state->host_fqdn);
411          if(ihost_state->server_fqdn!=NULL) free(ihost_state->server_fqdn);
411        if(ihost_state->host_ip!=NULL) free(ihost_state->host_ip);
412  
413 +        if(ihost_state->preset_fqdn){
414 +                if(host_fqdn != NULL) free(host_fqdn);
415 +        }else{
416 +                if(ihost_state->host_fqdn!=NULL) free(ihost_state->host_fqdn);
417 +                ihost_state->host_fqdn=host_fqdn;
418 +        }
419 +
420 +        if(ihost_state->preset_ip){
421 +                if(host_ip != NULL) free(host_ip);
422 +        }else{
423 +                if(ihost_state->host_ip!=NULL) free(ihost_state->host_ip);
424 +                ihost_state->host_ip=host_ip;
425 +        }
426 +
427 +
428          ihost_state->file_list=file_list;
429          ihost_state->last_modified=last_modified;
415        ihost_state->host_fqdn=host_fqdn;
416        ihost_state->host_ip=host_ip;
430          ihost_state->server_fqdn=server_fqdn;
431          ihost_state->server_udp_port=server_udp_port;
432          ihost_state->udp_update_time=udp_update_time;
# Line 703 | Line 716 | void usage(char *progname){
716          fprintf(stderr, "Options\n");
717          fprintf(stderr, "  -v           Verbose mode,-vv would make even more verbose\n");
718          fprintf(stderr, "  -f           Foreground mode, print errors to stderr\n");
719 +        fprintf(stderr, "  -s           Set the machine name to be reported as\n");
720 +        fprintf(stderr, "  -i           Set the IP to be reported as\n");
721          fprintf(stderr, "  -V           Print version number\n");
722          fprintf(stderr, "  -h           Prints this help page\n");
723          exit(1);
# Line 734 | Line 749 | int main(int argc, char **argv){
749          ihost_state.filtermanager_host=NULL;
750          ihost_state.host_fqdn=NULL;
751          ihost_state.host_ip=NULL;
752 +        ihost_state.preset_fqdn = 0;
753 +        ihost_state.preset_ip = 0;
754          ihost_state.server_fqdn=NULL;
755          ihost_state.file_list=NULL;
756          ihost_state.last_modified=NULL;
757  
758 <        while((cmdopt=getopt(argc, argv, "vfhV")) != -1){
758 >        while((cmdopt=getopt(argc, argv, "vfhVs:i:")) != -1){
759                  switch(cmdopt){
760                          case 'v':
761                                  ihost_config.verbose++;
# Line 756 | Line 773 | int main(int argc, char **argv){
773                          case 'V':
774                                  fprintf(stderr, "%s version %s\n", argv[0], VERSION);
775                                  break;
776 +                        case 's':
777 +                                ihost_state.preset_fqdn = 1;
778 +                                ihost_state.host_fqdn = strdup(optarg);
779 +                                if(ihost_state.host_fqdn == NULL){
780 +                                        fprintf(stderr, "Missing hostname\n");  
781 +                                        usage(argv[0]);
782 +                                }
783 +                                break;
784 +                        case 'i':
785 +                                /* Hmm.. Someone could set any string to be the IP, and it will let it */
786 +                                ihost_state.preset_ip = 1;
787 +                                ihost_state.host_ip = strdup(optarg);
788 +                                if(ihost_state.host_ip == NULL){
789 +                                        fprintf(stderr, "Missing ip\n");        
790 +                                        usage(argv[0]);
791 +                                }
792 +                                break;
793  
794                          default:
795                                  usage(argv[0]);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines