replace strncpy with ast_copy_string and fix the -1 offset which
authorLuigi Rizzo <rizzo@icir.org>
Fri, 21 Apr 2006 17:47:44 +0000 (17:47 +0000)
committerLuigi Rizzo <rizzo@icir.org>
Fri, 21 Apr 2006 17:47:44 +0000 (17:47 +0000)
is not needed now.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22015 65c4cc65-6c06-0410-ace0-fbb531ad65f3

enum.c

diff --git a/enum.c b/enum.c
index 9304c22..731f03a 100644 (file)
--- a/enum.c
+++ b/enum.c
@@ -412,11 +412,7 @@ int ast_get_enum(struct ast_channel *chan, const char *number, char *dst, int ds
        int i = 0;
        int z = 0;
 
-       if (number[0] == 'n') {
-               strncpy(naptrinput, number+1, sizeof(naptrinput));
-       } else {
-               strncpy(naptrinput, number, sizeof(naptrinput));
-       }
+       ast_copy_string(naptrinput, number[0] == 'n' ? number+1 : number, sizeof(naptrinput));
 
        context.naptrinput = naptrinput;        /* The number */
        context.dst = dst;                      /* Return string */
@@ -487,11 +483,7 @@ int ast_get_enum(struct ast_channel *chan, const char *number, char *dst, int ds
                } else {
                        s = s->next;
                }
-               if (suffix != NULL) {
-                       strncpy(tmp + newpos, suffix, sizeof(tmp) - newpos - 1);
-               } else if (s) {
-                       strncpy(tmp + newpos, s->toplev, sizeof(tmp) - newpos - 1);
-               }
+               ast_copy_string(tmp + newpos, suffix ? suffix : s->toplev, sizeof(tmp) - newpos);
                ast_mutex_unlock(&enumlock);
                if (!s)
                        break;
@@ -600,7 +592,7 @@ int ast_get_txt(struct ast_channel *chan, const char *number, char *dst, int dst
                        s = s->next;
                }
                if (s) {
-                       strncpy(tmp + newpos, s->toplev, sizeof(tmp) - newpos - 1);
+                       ast_copy_string(tmp + newpos, s->toplev, sizeof(tmp) - newpos);
                }
                ast_mutex_unlock(&enumlock);
                if (!s)