From e0a5d0011605404adb384abd37d88513ec8f7088 Mon Sep 17 00:00:00 2001 From: Rat Date: Sun, 20 Jun 2010 17:13:10 +0200 Subject: added mysql source for win build --HG-- branch : trunk --- externals/mysql/strings/bchange.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 externals/mysql/strings/bchange.c (limited to 'externals/mysql/strings/bchange.c') diff --git a/externals/mysql/strings/bchange.c b/externals/mysql/strings/bchange.c new file mode 100644 index 00000000000..0b2c62019b5 --- /dev/null +++ b/externals/mysql/strings/bchange.c @@ -0,0 +1,38 @@ +/* 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; version 2 of the License. + + 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + +/* File : bchange.c + Author : Michael widenius + Updated: 1987-03-20 + Defines: bchange() + + bchange(dst, old_length, src, new_length, tot_length) + replaces old_length characters at dst to new_length characters from + src in a buffer with tot_length bytes. +*/ + +#include +#include "m_string.h" + +void bchange(register uchar *dst, size_t old_length, register const uchar *src, + size_t new_length, size_t tot_length) +{ + size_t rest=tot_length-old_length; + if (old_length < new_length) + bmove_upp(dst+rest+new_length,dst+tot_length,rest); + else + bmove(dst+new_length,dst+old_length,rest); + memcpy(dst,src,new_length); +} -- cgit v1.2.3