Relicense to ISC License.
[routeros-api.git] / src / ros.c
index 605c6b7..770b84e 100644 (file)
--- a/src/ros.c
+++ b/src/ros.c
@@ -2,18 +2,17 @@
  * libmikrotik - src/ros.c
  * Copyright (C) 2009  Florian octo Forster
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; only version 2 of the License is applicable.
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
  *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+ * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
  *
  * Authors:
  *   Florian octo Forster <octo at verplant.org>
@@ -243,7 +242,12 @@ static char *read_password (void) /* {{{ */
                return (NULL);
        }
 
-       fgets (buffer, sizeof (buffer), tty);
+       if (fgets (buffer, sizeof (buffer), tty) == NULL)
+       {
+               fprintf (stderr, "fgets failed: %s\n", strerror (errno));
+               fclose (tty);
+               return (NULL);
+       }
        buffer[sizeof (buffer) - 1] = 0;
        buffer_len = strlen (buffer);
 
@@ -324,7 +328,7 @@ int main (int argc, char **argv) /* {{{ */
        if (passwd == NULL)
                exit (EXIT_FAILURE);
 
-       c = ros_connect (argv[optind], ROUTEROS_API_PORT,
+       c = ros_connect (host, ROUTEROS_API_PORT,
                        opt_username, passwd);
        memset (passwd, 0, strlen (passwd));
        if (c == NULL)