IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 11053


Ignore:
Timestamp:
Jan 11, 2007, 4:50:49 PM (19 years ago)
Author:
eugene
Message:

additional needed book commands

Location:
trunk/Ohana/src/opihi/cmd.data
Files:
2 edited

Legend:

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

    r10997 r11053  
    22
    33int book_list (int argc, char **argv);
     4int book_init (int argc, char **argv);
    45int book_create (int argc, char **argv);
    56int book_delete (int argc, char **argv);
     
    1617static Command book_commands[] = {
    1718  {"list",     book_list,     "list books"},
     19  {"init",     book_init,     "initialize a book"},
    1820  {"create",   book_create,   "create a book"},
    1921  {"delete",   book_delete,   "delete a book"},
     
    3638    gprint (GP_ERR, "USAGE: book (command)\n");
    3739    gprint (GP_ERR, "    book list                              : list books\n");
    38     gprint (GP_ERR, "    book create   (book)                   : create book (name)\n");
    39     gprint (GP_ERR, "    book delete   (book)                   : delete book (name)\n");
     40    gprint (GP_ERR, "    book init     (book)                   : removes all pages from book\n");
     41    gprint (GP_ERR, "    book create   (book)                   : create a book\n");
     42    gprint (GP_ERR, "    book delete   (book)                   : delete a book\n");
    4043    gprint (GP_ERR, "    book getbook  (where)                  : get book name\n");
    4144    gprint (GP_ERR, "    book listbook (book)                   : list a book\n");
  • trunk/Ohana/src/opihi/cmd.data/book_commands.c

    r11007 r11053  
    22
    33int book_list (int argc, char **argv) {
    4     ListBooks();
     4  if (argc != 1) {
     5    gprint (GP_ERR, "USAGE: book list\n");
     6    return FALSE;
     7  }
     8
     9  ListBooks();
    510}
    611
     
    3641}
    3742
     43int book_init (int argc, char **argv) {
     44
     45  int status;
     46  Book *book;
     47
     48  if (argc != 2) {
     49    gprint (GP_ERR, "USAGE: book init (book)\n");
     50    return FALSE;
     51  }
     52
     53  book = FindBook (argv[1]);
     54  if (book != NULL) {
     55      status = DeleteBook (book);
     56      if (!status) abort ();
     57  }
     58
     59  CreateBook (argv[1]);
     60  return TRUE;
     61}
     62
    3863int book_listbook (int argc, char **argv) {
    3964
     
    7196  if (argc != 2) {
    7297    gprint (GP_ERR, "USAGE: book npages (book)\n");
    73     return FALSE;
    74   }
    75 
    76   book = FindBook (argv[1]);
    77   if (book == NULL) {
    78     gprint (GP_ERR, "book %s not found\n", argv[1]);
     98    FREE (varName);
     99    return FALSE;
     100  }
     101
     102  book = FindBook (argv[1]);
     103  if (book == NULL) {
     104    gprint (GP_ERR, "book %s not found\n", argv[1]);
     105    FREE (varName);
    79106    return FALSE;
    80107  }
     
    85112    gprint (GP_ERR, "%d pages\n", book[0].Npages);
    86113  }
     114  FREE (varName);
    87115  return TRUE;
    88116}
     
    103131  if (argc != 2) {
    104132    gprint (GP_ERR, "USAGE: book getbook (where) [-var var]\n");
     133    FREE (varName);
    105134    return FALSE;
    106135  }
     
    110139  if (book == NULL) {
    111140    gprint (GP_ERR, "book %s not found\n", argv[1]);
     141    FREE (varName);
    112142    return FALSE;
    113143  }
     
    118148    gprint (GP_ERR, "%s\n", book[0].name);
    119149  }
     150  FREE (varName);
    120151  return TRUE;
    121152}
     
    159190    gprint (GP_ERR, "USAGE: book delpage (book) (page)\n");
    160191    gprint (GP_ERR, "USAGE: book delpage (book) -key name value\n");
    161     return FALSE;
    162   }
    163 
    164   book = FindBook (argv[1]);
    165   if (book == NULL) {
    166     gprint (GP_ERR, "book %s not found\n", argv[1]);
     192    FREE (Key);
     193    FREE (Value);
     194    return FALSE;
     195  }
     196
     197  book = FindBook (argv[1]);
     198  if (book == NULL) {
     199    gprint (GP_ERR, "book %s not found\n", argv[1]);
     200    FREE (Key);
     201    FREE (Value);
    167202    return FALSE;
    168203  }
     
    178213      }
    179214    }
     215    FREE (Key);
     216    FREE (Value);
    180217    return TRUE;
    181218  }
     
    184221  if (page == NULL) {
    185222    gprint (GP_ERR, "page %s in book %s not found\n", argv[2], argv[1]);
     223    FREE (Key);
     224    FREE (Value);
    186225    return FALSE;
    187226  }
    188227
    189228  DeletePage (book, page);
     229  FREE (Key);
     230  FREE (Value);
    190231  return TRUE;
    191232}
     
    220261
    221262  int where, N;
    222   char *varName, *keyName, *keyValue;
     263  char *pageName, *varName, *keyName, *keyValue;
    223264  Book *book;
    224265  Page *page;
     
    231272  }
    232273
    233   keyName = NULL;
     274  keyValue = keyName = NULL;
    234275  if ((N = get_argument (argc, argv, "-key"))) {
    235276    remove_argument (N, &argc, argv);
     
    242283  if (argc != 3) {
    243284    gprint (GP_ERR, "USAGE: book getpage (book) (where) [-var var] [-key key value]\n");
     285    FREE (varName);
     286    FREE (keyName);
     287    FREE (keyValue);
    244288    return FALSE;
    245289  }
     
    250294  if (book == NULL) {
    251295    gprint (GP_ERR, "book %s not found\n", argv[1]);
     296    FREE (varName);
     297    FREE (keyName);
     298    FREE (keyValue);
    252299    return FALSE;
    253300  }
     
    259306  }
    260307  if (page == NULL) {
    261     gprint (GP_ERR, "page %s in book %s not found\n", argv[2], argv[1]);
    262     return FALSE;
     308    pageName = strcreate ("NULL");
     309  } else {
     310    pageName = strcreate (page[0].name);
    263311  }
    264312
    265313  if (varName) {
    266     set_str_variable (varName, page[0].name);
    267   } else {
    268     gprint (GP_ERR, "%s\n", page[0].name);
    269   }
     314    set_str_variable (varName, pageName);
     315  } else {
     316    gprint (GP_ERR, "%s\n", pageName);
     317  }
     318  FREE (pageName);
     319  FREE (varName);
     320  FREE (keyName);
     321  FREE (keyValue);
    270322  return TRUE;
    271323}
     
    313365  if (argc != 4) {
    314366    gprint (GP_ERR, "USAGE: book newword (book) (page) (word)\n");
    315     return FALSE;
    316   }
    317 
    318   book = FindBook (argv[1]);
    319   if (book == NULL) {
    320     gprint (GP_ERR, "book %s not found\n", argv[1]);
     367    FREE (varName);
     368    return FALSE;
     369  }
     370
     371  book = FindBook (argv[1]);
     372  if (book == NULL) {
     373    gprint (GP_ERR, "book %s not found\n", argv[1]);
     374    FREE (varName);
    321375    return FALSE;
    322376  }
     
    325379  if (page == NULL) {
    326380    gprint (GP_ERR, "page %s in book %s not found\n", argv[2], argv[1]);
     381    FREE (varName);
    327382    return FALSE;
    328383  }
     
    331386  if (value == NULL) {
    332387    gprint (GP_ERR, "value %s on page %s in book %s not found\n", argv[3], argv[2], argv[1]);
     388    FREE (varName);
    333389    return FALSE;
    334390  }
     
    340396  }
    341397   
    342   return TRUE;
    343 }
     398  FREE (varName);
     399  return TRUE;
     400}
Note: See TracChangeset for help on using the changeset viewer.