[BACK]Return to main.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / docbook2mdoc

Diff for /docbook2mdoc/main.c between version 1.3 and 1.4

version 1.3, 2019/03/28 12:21:10 version 1.4, 2019/04/08 22:47:34
Line 15 
Line 15 
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF   * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.   * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */   */
 #include <fcntl.h>  
 #include <getopt.h>  #include <getopt.h>
 #include <stdio.h>  #include <stdio.h>
 #include <string.h>  #include <string.h>
Line 64  main(int argc, char *argv[])
Line 63  main(int argc, char *argv[])
         if (argc > 1) {          if (argc > 1) {
                 fprintf(stderr, "%s: Too many arguments\n", argv[1]);                  fprintf(stderr, "%s: Too many arguments\n", argv[1]);
                 goto usage;                  goto usage;
         } else          } else if (argc == 1) {
                 fname = argc > 0 ? argv[0] : "-";                  fname = argv[0];
                   fd = -1;
           } else {
                   fname = "<stdin>";
                   fd = STDIN_FILENO;
           }
   
         fd = strcmp(fname, "-") == 0 ?          /* Parse. */
                 STDIN_FILENO : open(fname, O_RDONLY, 0);  
   
         if (fd == -1) {          if ((parser = parse_alloc(warn)) == NULL) {
                 perror(fname);                  perror(NULL);
                 return 1;                  return 1;
         }          }
           tree = parse_file(parser, fd, fname);
           rc = tree->flags & TREE_FAIL ? 1 : 0;
   
         /* Parse and format. */          /* Format. */
   
         rc = 1;          if (tree->root != NULL) {
         if ((parser = parse_alloc(warn)) != NULL) {                  if (rc)
                 if ((tree = parse_file(parser, fd, fname)) != NULL) {                          fputc('\n', stderr);
                         if (tree->flags & TREE_FAIL)                  ptree_print(tree);
                                 fputc('\n', stderr);                  if (rc)
                         else                          fputs("\nThe output may be incomplete, see the "
                                 rc = 0;                              "parse error reported above.\n\n", stderr);
                         ptree_print(tree);          }
                         if (tree->flags & TREE_FAIL)          parse_free(parser);
                                 fputs("\nThe output may be incomplete, see"  
                                     " the parse error reported above.\n\n",  
                                     stderr);  
                         pnode_unlink(tree->root);  
                         tree->root = NULL;  
                 }  
                 parse_free(parser);  
         } else  
                 perror(NULL);  
   
         if (fd != STDIN_FILENO)  
                 close(fd);  
         return rc;          return rc;
   
 usage:  usage:

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

CVSweb