Diff for /embedtools/src/Attic/xmler.c between versions 1.1.2.7 and 1.1.2.10

version 1.1.2.7, 2010/09/28 15:02:55 version 1.1.2.10, 2010/09/29 16:51:14
Line 25  Usage() Line 25  Usage()
                 "=== %s === %s@%s ===\n\n"                  "=== %s === %s@%s ===\n\n"
                 "  Syntax: xmler [options] <file.xml> [data]\n\n"                  "  Syntax: xmler [options] <file.xml> [data]\n\n"
                 "\t-v\t\tVerbose ...\n"                  "\t-v\t\tVerbose ...\n"
                   "\t-l <av_pair>\tList node\n"
                 "\t-d <av_pair>\tDelete node\n"                  "\t-d <av_pair>\tDelete node\n"
                 "\t-s <av_pair>\tSet node command\n"                  "\t-s <av_pair>\tSet node command\n"
                 "\t-g <av_pair>\tGet node command\n"                  "\t-g <av_pair>\tGet node command\n"
Line 61  ShowXML(axlDoc *doc, const char *csNode) Line 62  ShowXML(axlDoc *doc, const char *csNode)
         return 0;          return 0;
 }  }
   
   static int
   ShowItem(axlNode *node, int lvl)
   {
           register int i;
           int ctxlen;
           axlNode *child;
   
           for (i = 0; i < axl_node_get_child_num(node); i++) {
                   child = axl_node_get_child_nth(node, i);
   
                   if (!lvl)
                           printf("%s %s \"%s\"", axl_node_get_name(node), axl_node_get_name(child), 
                                           axl_node_get_content(child, &ctxlen));
                   else
                           printf(" %s \"%s\"", axl_node_get_name(child), axl_node_get_content(child, &ctxlen));
   
                   ShowItem(child, 1);
   
                   if (!lvl)
                           printf("\n");
           }
   
           return 0;
   }
   
 int  int
 main(int argc, char **argv)  main(int argc, char **argv)
 {  {
Line 73  main(int argc, char **argv) Line 99  main(int argc, char **argv)
   
         memset(str, 0, STRSIZ);          memset(str, 0, STRSIZ);
         memset(&xr, 0, sizeof xr);          memset(&xr, 0, sizeof xr);
        while ((ch = getopt(argc, argv, "hvs:g:d:")) != -1)        while ((ch = getopt(argc, argv, "hvl:s:g:d:")) != -1)
                 switch (ch) {                  switch (ch) {
                         case 'v':                          case 'v':
                                 Verbose++;                                  Verbose++;
                                 break;                                  break;
                           case 'l':
                                   if (m) {
                                           Usage();
                                           return 1;
                                   } else
                                           m = 'l';
                                   strlcpy(str, optarg, STRSIZ);
                                   if ((ret = ioXMLGet(str, &xr)) < 1) {
                                           printf("Error:: in XML request %s\n", str);
                                           return 1;
                                   }
                                   VERB(3) printf("Verbose(3):: XMLGet=0x%x\n", ret);
                                   break;
                         case 'd':                          case 'd':
                                 if (m) {                                  if (m) {
                                         Usage();                                          Usage();
Line 340  main(int argc, char **argv) Line 379  main(int argc, char **argv)
                         if (ret & 32)                          if (ret & 32)
                                 axl_node_set_child(node, nnode);                                  axl_node_set_child(node, nnode);
                         ret = ShowXML(doc, NULL);                          ret = ShowXML(doc, NULL);
                           break;
                   case 'l':
                           if (!xr.xml_namespace.vallen) {
                                   if (ret == 32) {
                                           if (!(node = axl_doc_get(doc, xr.xml_node.path.value))) {
                                                   printf("LST:: path %s - not found!\n", xr.xml_node.path.value);
                                                   ret = 1;
                                                   goto end;
                                           }
                                   } else {
                                           if (!(node = axl_doc_find_called(doc, xr.xml_node.container.value))) {
                                                   printf("LST:: node %s - not found!\n", xr.xml_node.container.value);
                                                   ret = 1;
                                                   goto end;
                                           }
                                   }
                           } else {
                                   strlcpy(str, xr.xml_namespace.value, sizeof str);
                                   strlcat(str, ":", sizeof str);
                                   strlcat(str, xr.xml_node.container.value, sizeof str);
                                   if (ret == 32) {
                                           if (!(node = axl_doc_get(doc, str))) {
                                                   printf("LST:: path %s:%s - not found!\n", xr.xml_namespace.value, 
                                                                   xr.xml_node.path.value);
                                                   ret = 1;
                                                   goto end;
                                           }
                                   } else {
                                           if (!(node = axl_doc_find_called(doc, str))) {
                                                   printf("LST:: node %s:%s - not found!\n", xr.xml_namespace.value, 
                                                                   xr.xml_node.container.value);
                                                   ret = 1;
                                                   goto end;
                                           }
                                   }
                           }
   
                           ret = ShowItem(node, 0);
                         break;                          break;
                 default:                  default:
                         ret = ShowXML(doc, xr.xml_data.vallen ? xr.xml_data.value : NULL);                          ret = ShowXML(doc, xr.xml_data.vallen ? xr.xml_data.value : NULL);

Removed from v.1.1.2.7  
changed lines
  Added in v.1.1.2.10


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>