diff options
Diffstat (limited to 'mysys/my_malloc.c')
-rw-r--r-- | mysys/my_malloc.c | 43 |
1 files changed, 27 insertions, 16 deletions
diff --git a/mysys/my_malloc.c b/mysys/my_malloc.c index c2df22ec7ec..b273363aaf1 100644 --- a/mysys/my_malloc.c +++ b/mysys/my_malloc.c @@ -1,19 +1,18 @@ -/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, +/* Copyright (C) 2000 MySQL AB + + 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; either version 2 of the License, or + (at your option) any later version. + + 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA */ + 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifdef SAFEMALLOC /* We don't need SAFEMALLOC here */ #undef SAFEMALLOC @@ -74,7 +73,7 @@ gptr my_memdup(const byte *from, uint length, myf MyFlags) } -my_string my_strdup(const char *from, myf MyFlags) +char *my_strdup(const char *from, myf MyFlags) { gptr ptr; uint length=(uint) strlen(from)+1; @@ -82,3 +81,15 @@ my_string my_strdup(const char *from, myf MyFlags) memcpy((byte*) ptr, (byte*) from,(size_t) length); return((my_string) ptr); } + + +char *my_strdup_with_length(const byte *from, uint length, myf MyFlags) +{ + gptr ptr; + if ((ptr=my_malloc(length+1,MyFlags)) != 0) + { + memcpy((byte*) ptr, (byte*) from,(size_t) length); + ((char*) ptr)[length]=0; + } + return((char*) ptr); +} |