IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jan 18, 2008, 2:52:14 PM (19 years ago)
Author:
eugene
Message:

return NULL if output var requested and entry not found

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/opihi/cmd.data/book_commands.c

    r15206 r16139  
    170170  book = GetBook (where);
    171171  if (book == NULL) {
     172    if (varName) {
     173      set_str_variable (varName, "NULL");
     174      FREE (varName);
     175      return TRUE;
     176    }
     177
    172178    gprint (GP_ERR, "book %s not found\n", argv[1]);
    173179    FREE (varName);
     
    178184    set_str_variable (varName, book[0].name);
    179185  } else {
    180     gprint (GP_ERR, "%s\n", book[0].name);
     186    gprint (GP_LOG, "%s\n", book[0].name);
    181187  }
    182188  FREE (varName);
     
    294300
    295301  int where, N;
    296   char *pageName, *varName, *keyName, *keyValue;
     302  char *varName, *keyName, *keyValue;
    297303  Book *book;
    298304  Page *page;
     
    326332  book = FindBook (argv[1]);
    327333  if (book == NULL) {
     334    if (varName) {
     335      set_str_variable (varName, "NULL");
     336      FREE (varName);
     337      FREE (keyName);
     338      FREE (keyValue);
     339      return TRUE;
     340    }
    328341    gprint (GP_ERR, "book %s not found\n", argv[1]);
    329342    FREE (varName);
     
    338351    page = GetPageRestricted (book, where, keyName, keyValue);
    339352  }
     353
    340354  if (page == NULL) {
    341     pageName = strcreate ("NULL");
     355    if (varName) {
     356      set_str_variable (varName, "NULL");
     357      FREE (varName);
     358      FREE (keyName);
     359      FREE (keyValue);
     360      return TRUE;
     361    }
     362    gprint (GP_ERR, "page %d not found in %s\n", where, argv[1]);
     363    FREE (varName);
     364    FREE (keyName);
     365    FREE (keyValue);
     366    return FALSE;
     367  }
     368
     369  if (varName) {
     370    set_str_variable (varName, page[0].name);
    342371  } else {
    343     pageName = strcreate (page[0].name);
    344   }
    345 
    346   if (varName) {
    347     set_str_variable (varName, pageName);
    348   } else {
    349     gprint (GP_ERR, "%s\n", pageName);
    350   }
    351   FREE (pageName);
     372    gprint (GP_LOG, "%s\n", page[0].name);
     373  }
    352374  FREE (varName);
    353375  FREE (keyName);
     
    404426  book = FindBook (argv[1]);
    405427  if (book == NULL) {
     428    if (varName) {
     429      set_str_variable (varName, "NULL");
     430      FREE (varName);
     431      return TRUE;
     432    }
    406433    gprint (GP_ERR, "book %s not found\n", argv[1]);
    407434    FREE (varName);
     
    411438  page = FindPage (book, argv[2]);
    412439  if (page == NULL) {
     440    if (varName) {
     441      set_str_variable (varName, "NULL");
     442      FREE (varName);
     443      return TRUE;
     444    }
    413445    gprint (GP_ERR, "page %s in book %s not found\n", argv[2], argv[1]);
    414446    FREE (varName);
     
    418450  value = BookGetWord (page, argv[3]);
    419451  if (value == NULL) {
    420     if (varName == NULL) {
    421       gprint (GP_ERR, "value %s on page %s in book %s not found\n", argv[3], argv[2], argv[1]);
    422       FREE (varName);
    423       return FALSE;
    424     } else {
     452    if (varName) {
    425453      set_str_variable (varName, "NULL");
    426454      FREE (varName);
    427455      return TRUE;
    428456    }
     457    gprint (GP_ERR, "value %s on page %s in book %s not found\n", argv[3], argv[2], argv[1]);
     458    FREE (varName);
     459    return FALSE;
    429460  }
    430461
     
    432463    set_str_variable (varName, value);
    433464  } else {
    434     gprint (GP_ERR, "%s\n", value);
     465    gprint (GP_LOG, "%s\n", value);
    435466  }
    436467   
Note: See TracChangeset for help on using the changeset viewer.