remove trailing whitespaces
[dpdk.git] / lib / librte_cmdline / cmdline.c
old mode 100644 (file)
new mode 100755 (executable)
index dafddfc..78572f4
@@ -1,36 +1,34 @@
 /*-
  *   BSD LICENSE
- * 
- *   Copyright(c) 2010-2012 Intel Corporation. All rights reserved.
+ *
+ *   Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
  *   All rights reserved.
- * 
- *   Redistribution and use in source and binary forms, with or without 
- *   modification, are permitted provided that the following conditions 
+ *
+ *   Redistribution and use in source and binary forms, with or without
+ *   modification, are permitted provided that the following conditions
  *   are met:
- * 
- *     * Redistributions of source code must retain the above copyright 
+ *
+ *     * Redistributions of source code must retain the above copyright
  *       notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above copyright 
- *       notice, this list of conditions and the following disclaimer in 
- *       the documentation and/or other materials provided with the 
+ *     * Redistributions in binary form must reproduce the above copyright
+ *       notice, this list of conditions and the following disclaimer in
+ *       the documentation and/or other materials provided with the
  *       distribution.
- *     * Neither the name of Intel Corporation nor the names of its 
- *       contributors may be used to endorse or promote products derived 
+ *     * Neither the name of Intel Corporation nor the names of its
+ *       contributors may be used to endorse or promote products derived
  *       from this software without specific prior written permission.
- * 
- *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
- *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
- *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 
- *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
- *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
- *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
- *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
- *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
- *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
- *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+ *
+ *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- * 
- *  version: DPDK.L.1.2.3-3
  */
 
 /*
@@ -105,7 +103,12 @@ int
 cmdline_write_char(struct rdline *rdl, char c)
 {
        int ret = -1;
-       struct cmdline *cl = rdl->opaque;
+       struct cmdline *cl;
+
+       if (!rdl)
+               return -1;
+
+       cl = rdl->opaque;
 
        if (cl->s_out >= 0)
                ret = write(cl->s_out, &c, 1);
@@ -117,6 +120,8 @@ cmdline_write_char(struct rdline *rdl, char c)
 void
 cmdline_set_prompt(struct cmdline *cl, const char *prompt)
 {
+       if (!cl || !prompt)
+               return;
        rte_snprintf(cl->prompt, sizeof(cl->prompt), "%s", prompt);
 }
 
@@ -124,6 +129,10 @@ struct cmdline *
 cmdline_new(cmdline_parse_ctx_t *ctx, const char *prompt, int s_in, int s_out)
 {
        struct cmdline *cl;
+
+       if (!ctx || !prompt)
+               return NULL;
+
        cl = malloc(sizeof(struct cmdline));
        if (cl == NULL)
                return NULL;
@@ -145,6 +154,10 @@ void
 cmdline_free(struct cmdline *cl)
 {
        dprintf("called\n");
+
+       if (!cl)
+               return;
+
        if (cl->s_in > 2)
                close(cl->s_in);
        if (cl->s_out != cl->s_in && cl->s_out > 2)
@@ -157,6 +170,9 @@ cmdline_printf(const struct cmdline *cl, const char *fmt, ...)
 {
        va_list ap;
 
+       if (!cl || !fmt)
+               return;
+
 #ifdef _GNU_SOURCE
        if (cl->s_out < 0)
                return;
@@ -193,6 +209,9 @@ cmdline_in(struct cmdline *cl, const char *buf, int size)
        int ret = 0;
        int i, same;
 
+       if (!cl || !buf)
+               return -1;
+
        for (i=0; i<size; i++) {
                ret = rdline_char_in(&cl->rdl, buf[i]);
 
@@ -222,6 +241,8 @@ cmdline_in(struct cmdline *cl, const char *buf, int size)
 void
 cmdline_quit(struct cmdline *cl)
 {
+       if (!cl)
+               return;
        rdline_quit(&cl->rdl);
 }
 
@@ -230,9 +251,12 @@ cmdline_interact(struct cmdline *cl)
 {
        char c;
 
+       if (!cl)
+               return;
+
        c = -1;
        while (1) {
-               if (read(cl->s_in, &c, 1) < 0)
+               if (read(cl->s_in, &c, 1) <= 0)
                        break;
                if (cmdline_in(cl, &c, 1) < 0)
                        break;