]> git.sur5r.net Git - tio/blobdiff - src/main.c
New upstream version 1.34
[tio] / src / main.c
index 83c060a478820ac933b6fe745aa72764f8145620..d7c2e47821ffa10859966899e7f4768b2c215c3d 100644 (file)
@@ -1,7 +1,7 @@
 /*
- * tio - a simple TTY terminal I/O application
+ * tio - a simple TTY terminal I/O tool
  *
- * Copyright (c) 2014-2017  Martin Lund
+ * Copyright (c) 2014-2022  Martin Lund
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
-#include "tio/options.h"
-#include "tio/tty.h"
-#include "tio/log.h"
-#include "tio/error.h"
-#include "tio/print.h"
+#include "options.h"
+#include "tty.h"
+#include "log.h"
+#include "error.h"
+#include "print.h"
 
 int main(int argc, char *argv[])
 {
-    int status;
+    int status = 0;
 
-    /* Install error exit handler */
+    /* Add error exit handler */
     atexit(&error_exit);
 
     /* Parse options */
     parse_options(argc, argv);
 
+    /* List available serial devices */
+    if (option.list_devices)
+    {
+        list_serial_devices();
+        return status;
+    }
+
     /* Configure tty device */
     tty_configure();
 
@@ -48,13 +55,20 @@ int main(int argc, char *argv[])
     /* Configure output terminal */
     stdout_configure();
 
-    /* Install log exit handler */
+    /* Add log exit handler */
     atexit(&log_exit);
 
     /* Create log file */
     if (option.log)
         log_open(option.log_filename);
 
+    /* Enable ANSI text formatting (colors etc.) */
+    print_enable_ansi_formatting();
+
+    /* Print launch hints */
+    tio_printf("tio v%s", VERSION);
+    tio_printf("Press ctrl-t q to quit");
+
     /* Connect to tty device */
     if (option.no_autoconnect)
         status = tty_connect();