Changeset 138 for trunk/src/reglookup.c


Ignore:
Timestamp:
02/08/09 14:53:48 (15 years ago)
Author:
tim
Message:

extended error message logging to allow for message type filtering

fine tuned message verbosity to more reasonable default levels for reglookup and reglookup-recover

updated related documentation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/reglookup.c

    r137 r138  
    8686  }
    8787
    88   quoted_value = data_to_ascii(vk->data, size, vk->type, &conv_error);
    89   if(quoted_value == NULL)
    90   {
    91     if(conv_error == NULL)
    92       fprintf(stderr, "WARN: Could not quote value for '%s/%s'.  "
    93               "Memory allocation failure likely.\n", prefix, quoted_name);
    94     else if(print_verbose)
    95       fprintf(stderr, "WARN: Could not quote value for '%s/%s'.  "
    96               "Returned error: %s\n", prefix, quoted_name, conv_error);
    97   }
    98   else if(conv_error != NULL && print_verbose)
    99     fprintf(stderr, "VERBOSE: While quoting value for '%s/%s', "
    100             "warning returned: %s\n", prefix, quoted_name, conv_error);
     88  if(vk->data == NULL)
     89  {
     90    if(print_verbose)
     91      fprintf(stderr, "INFO: While quoting value for '%s/%s', "
     92              "data pointer was NULL.\n", prefix, quoted_name);
     93  }
     94  else
     95  {
     96    quoted_value = data_to_ascii(vk->data, size, vk->type, &conv_error);
     97    if(quoted_value == NULL)
     98    {
     99      if(conv_error == NULL)
     100        fprintf(stderr, "WARN: Could not quote value for '%s/%s'.  "
     101                "Memory allocation failure likely.\n", prefix, quoted_name);
     102      else
     103        fprintf(stderr, "WARN: Could not quote value for '%s/%s'.  "
     104                "Returned error: %s\n", prefix, quoted_name, conv_error);
     105    }
     106    else if(conv_error != NULL && print_verbose)
     107      fprintf(stderr, "INFO: While quoting value for '%s/%s', "
     108              "warning returned: %s\n", prefix, quoted_name, conv_error);
     109  }
    101110
    102111  str_type = regfi_type_val2str(vk->type);
     
    275284      printValue(value, prefix);
    276285    value = regfi_iterator_next_value(iter);
    277     printMsgs(iter);
     286    printMsgs(iter->f);
    278287  }
    279288}
     
    333342      {
    334343        if(print_verbose)
    335           fprintf(stderr, "WARN: While converting classname"
     344          fprintf(stderr, "INFO: While converting classname"
    336345                  " for key '%s': %s.\n", full_path, error_msg);
    337346        free(error_msg);
     
    341350      quoted_classname = empty_str;
    342351
    343     printMsgs(iter);
     352    printMsgs(iter->f);
    344353    printf("%s,KEY,,%s,%s,%s,%s,%s,%s\n", full_path, mtime,
    345354           owner, group, sacl, dacl, quoted_classname);
     
    372381  root = cur = regfi_iterator_cur_key(iter);
    373382  sub = regfi_iterator_first_subkey(iter);
    374   printMsgs(iter);
     383  printMsgs(iter->f);
    375384
    376385  if(root == NULL)
     
    400409        if(!regfi_iterator_up(iter))
    401410        {
    402           printMsgs(iter);
     411          printMsgs(iter->f);
    403412          bailOut(EX_DATAERR, "ERROR: could not traverse iterator upward.\n");
    404413        }
     
    407416        if(cur == NULL)
    408417        {
    409           printMsgs(iter);
     418          printMsgs(iter->f);
    410419          bailOut(EX_DATAERR, "ERROR: unexpected NULL for key.\n");
    411420        }
     
    421430      if(!regfi_iterator_down(iter))
    422431      {
    423         printMsgs(iter);
     432        printMsgs(iter->f);
    424433        bailOut(EX_DATAERR, "ERROR: could not traverse iterator downward.\n");
    425434      }
     
    429438      print_this = true;
    430439    }
    431     printMsgs(iter);
     440    printMsgs(iter->f);
    432441  } while(!((cur == root) && (sub == NULL)));
    433442
    434443  if(print_verbose)
    435     fprintf(stderr, "VERBOSE: Finished printing key tree.\n");
     444    fprintf(stderr, "INFO: Finished printing key tree.\n");
    436445}
    437446
     
    467476
    468477  if(print_verbose)
    469     fprintf(stderr, "VERBOSE: Attempting to retrieve specified path: %s\n",
     478    fprintf(stderr, "INFO: Attempting to retrieve specified path: %s\n",
    470479            path_filter);
    471480
     
    474483  {
    475484    if(print_verbose)
    476       fprintf(stderr, "VERBOSE: Found final path element as root key.\n");
     485      fprintf(stderr, "INFO: Found final path element as root key.\n");
    477486    free(tmp_path);
    478487    return 2;
     
    481490  if(!regfi_iterator_walk_path(iter, tmp_path))
    482491  {
    483     printMsgs(iter);
     492    printMsgs(iter->f);
    484493    free(tmp_path);
    485494    return 0;
     
    489498  {
    490499    if(print_verbose)
    491       fprintf(stderr, "VERBOSE: Found final path element as value.\n");
     500      fprintf(stderr, "INFO: Found final path element as value.\n");
    492501
    493502    value = regfi_iterator_cur_value(iter);
    494     printMsgs(iter);
     503    printMsgs(iter->f);
    495504    tmp_path_joined = iter2Path(iter);
    496505
     
    507516  else if(regfi_iterator_find_subkey(iter, path[i]))
    508517  {
    509     printMsgs(iter);
     518    printMsgs(iter->f);
    510519    if(print_verbose)
    511       fprintf(stderr, "VERBOSE: Found final path element as key.\n");
     520      fprintf(stderr, "INFO: Found final path element as key.\n");
    512521
    513522    if(!regfi_iterator_down(iter))
    514523    {
    515       printMsgs(iter);
     524      printMsgs(iter->f);
    516525      bailOut(EX_DATAERR, "ERROR: Unexpected error on traversing path filter key.\n");
    517526    }
     
    519528    return 2;
    520529  }
    521   printMsgs(iter);
     530  printMsgs(iter->f);
    522531
    523532  if(print_verbose)
    524     fprintf(stderr, "VERBOSE: Could not find last element of path.\n");
     533    fprintf(stderr, "INFO: Could not find last element of path.\n");
    525534
    526535  return 0;
     
    616625  }
    617626
     627  if(print_verbose)
     628    regfi_set_message_mask(f, REGFI_MSG_INFO|REGFI_MSG_WARN|REGFI_MSG_ERROR);
     629
    618630  iter = regfi_iterator_new(f);
    619631  if(iter == NULL)
     
    634646  {
    635647    retr_path_ret = retrievePath(iter, path);
    636     printMsgs(iter);
     648    printMsgs(iter->f);
    637649    freePath(path);
    638650
Note: See TracChangeset for help on using the changeset viewer.