Changeset 143 for trunk/src/reglookup.c


Ignore:
Timestamp:
02/12/09 22:24:27 (15 years ago)
Author:
tim
Message:

fixed a null pointer exception

removed some dependencies on less portable items

altered Makefiles to allow for MinGW cross compiling

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/reglookup.c

    r141 r143  
    2323
    2424#include <stdlib.h>
    25 #include <sysexits.h>
    2625#include <stdio.h>
    2726#include <string.h>
     
    8281    quoted_name = malloc(1*sizeof(char));
    8382    if(quoted_name == NULL)
    84       bailOut(EX_OSERR, "ERROR: Could not allocate sufficient memory.\n");
     83      bailOut(REGLOOKUP_EXIT_OSERR, "ERROR: Could not allocate sufficient memory.\n");
    8584    quoted_name[0] = '\0';
    8685  }
     
    161160      copy = (char*)malloc((next-cur+1)*sizeof(char));
    162161      if(copy == NULL)
    163         bailOut(EX_OSERR, "ERROR: Memory allocation problem.\n");
     162        bailOut(REGLOOKUP_EXIT_OSERR, "ERROR: Memory allocation problem.\n");
    164163         
    165164      memcpy(copy, cur, next-cur);
     
    169168        ret_val[ret_cur] = NULL;
    170169      else
    171         bailOut(EX_DATAERR, "ERROR: Registry maximum depth exceeded.\n");
     170        bailOut(REGLOOKUP_EXIT_DATAERR, "ERROR: Registry maximum depth exceeded.\n");
    172171    }
    173172    cur = next+1;
     
    182181      ret_val[ret_cur] = NULL;
    183182    else
    184       bailOut(EX_DATAERR, "ERROR: Registry maximum depth exceeded.\n");
     183      bailOut(REGLOOKUP_EXIT_DATAERR, "ERROR: Registry maximum depth exceeded.\n");
    185184  }
    186185
     
    384383
    385384  if(root == NULL)
    386     bailOut(EX_DATAERR, "ERROR: root cannot be NULL.\n");
     385    bailOut(REGLOOKUP_EXIT_DATAERR, "ERROR: root cannot be NULL.\n");
    387386 
    388387  do
     
    392391      path = iter2Path(iter);
    393392      if(path == NULL)
    394         bailOut(EX_OSERR, "ERROR: Could not construct iterator's path.\n");
     393        bailOut(REGLOOKUP_EXIT_OSERR, "ERROR: Could not construct iterator's path.\n");
    395394
    396395      if(!type_filter_enabled || (key_type == type_filter))
     
    410409        {
    411410          printMsgs(iter->f);
    412           bailOut(EX_DATAERR, "ERROR: could not traverse iterator upward.\n");
     411          bailOut(REGLOOKUP_EXIT_DATAERR, "ERROR: could not traverse iterator upward.\n");
    413412        }
    414413
     
    417416        {
    418417          printMsgs(iter->f);
    419           bailOut(EX_DATAERR, "ERROR: unexpected NULL for key.\n");
     418          bailOut(REGLOOKUP_EXIT_DATAERR, "ERROR: unexpected NULL for key.\n");
    420419        }
    421420
     
    431430      {
    432431        printMsgs(iter->f);
    433         bailOut(EX_DATAERR, "ERROR: could not traverse iterator downward.\n");
     432        bailOut(REGLOOKUP_EXIT_DATAERR, "ERROR: could not traverse iterator downward.\n");
    434433      }
    435434
     
    507506
    508507    if((value == NULL) || (tmp_path_joined == NULL))
    509       bailOut(EX_OSERR, "ERROR: Unexpected error before printValue.\n");
     508      bailOut(REGLOOKUP_EXIT_OSERR, "ERROR: Unexpected error before printValue.\n");
    510509
    511510    if(!type_filter_enabled || (value->type == type_filter))
     
    525524    {
    526525      printMsgs(iter->f);
    527       bailOut(EX_DATAERR, "ERROR: Unexpected error on traversing path filter key.\n");
     526      bailOut(REGLOOKUP_EXIT_DATAERR, "ERROR: Unexpected error on traversing path filter key.\n");
    528527    }
    529528
     
    568567  {
    569568    usage();
    570     bailOut(EX_USAGE, "ERROR: Requires at least one argument.\n");
     569    bailOut(REGLOOKUP_EXIT_USAGE, "ERROR: Requires at least one argument.\n");
    571570  }
    572571 
     
    579578      {
    580579        usage();
    581         bailOut(EX_USAGE, "ERROR: '-p' option requires parameter.\n");
     580        bailOut(REGLOOKUP_EXIT_USAGE, "ERROR: '-p' option requires parameter.\n");
    582581      }
    583582      if((path_filter = strdup(argv[argi])) == NULL)
    584         bailOut(EX_OSERR, "ERROR: Memory allocation problem.\n");
     583        bailOut(REGLOOKUP_EXIT_OSERR, "ERROR: Memory allocation problem.\n");
    585584
    586585      path_filter_enabled = true;
     
    591590      {
    592591        usage();
    593         bailOut(EX_USAGE, "ERROR: '-t' option requires parameter.\n");
     592        bailOut(REGLOOKUP_EXIT_USAGE, "ERROR: '-t' option requires parameter.\n");
    594593      }
    595594      if((type_filter = regfi_type_str2val(argv[argi])) < 0)
    596595      {
    597596        fprintf(stderr, "ERROR: Invalid type specified: %s.\n", argv[argi]);
    598         bailOut(EX_USAGE, "");
     597        bailOut(REGLOOKUP_EXIT_USAGE, "");
    599598      }
    600599      type_filter_enabled = true;
     
    614613      usage();
    615614      fprintf(stderr, "ERROR: Unrecognized option: %s\n", argv[argi]);
    616       bailOut(EX_USAGE, "");
     615      bailOut(REGLOOKUP_EXIT_USAGE, "");
    617616    }
    618617  }
    619618  if((registry_file = strdup(argv[argi])) == NULL)
    620     bailOut(EX_OSERR, "ERROR: Memory allocation problem.\n");
     619    bailOut(REGLOOKUP_EXIT_OSERR, "ERROR: Memory allocation problem.\n");
    621620
    622621  f = regfi_open(registry_file);
     
    624623  {
    625624    fprintf(stderr, "ERROR: Couldn't open registry file: %s\n", registry_file);
    626     bailOut(EX_NOINPUT, "");
     625    bailOut(REGLOOKUP_EXIT_NOINPUT, "");
    627626  }
    628627
     
    632631  iter = regfi_iterator_new(f);
    633632  if(iter == NULL)
    634     bailOut(EX_OSERR, "ERROR: Couldn't create registry iterator.\n");
     633    bailOut(REGLOOKUP_EXIT_OSERR, "ERROR: Couldn't create registry iterator.\n");
    635634
    636635  if(print_header)
     
    659658      fprintf(stderr, "ERROR: retrievePath() returned %d.\n",
    660659              retr_path_ret);
    661       bailOut(EX_DATAERR,"ERROR: Unknown error occurred in retrieving path.\n");
     660      bailOut(REGLOOKUP_EXIT_DATAERR,
     661              "ERROR: Unknown error occurred in retrieving path.\n");
    662662    }
    663663  }
Note: See TracChangeset for help on using the changeset viewer.