Files
harbour-core/harbour/contrib/hbxdiff/3rd/libxdiff/xmissing.c
Petr Chornyj 8d26624109 2010-02-01 11:10 UTC+0200 Petr Chornyj (myorg63 at mail.ru)
* contrib/hbmxml
  * contrib/hbmxml/3rd
  * contrib/hbmxml/3rd/minixml
  * contrib/hbmxml/3rd/minixml/config.h
  * contrib/hbmxml/3rd/minixml/COPYING
  * contrib/hbmxml/3rd/minixml/mxml-private.h
  * contrib/hbmxml/3rd/minixml/mxml.h
  * contrib/hbmxml/3rd/minixml/mxml.hbc
  * contrib/hbmxml/3rd/minixml/mxml.hbp
  * contrib/hbmxml/3rd/minixml/mxml_att.c
  * contrib/hbmxml/3rd/minixml/mxml_ent.c
  * contrib/hbmxml/3rd/minixml/mxml_fil.c
  * contrib/hbmxml/3rd/minixml/mxml_ind.c
  * contrib/hbmxml/3rd/minixml/mxml_nod.c
  * contrib/hbmxml/3rd/minixml/mxml_pri.c
  * contrib/hbmxml/3rd/minixml/mxml_pri.h
  * contrib/hbmxml/3rd/minixml/mxml_sea.c
  * contrib/hbmxml/3rd/minixml/mxml_set.c
  * contrib/hbmxml/3rd/minixml/mxml_str.c
  * contrib/hbmxml/hbmxml.c
  * contrib/hbmxml/hbmxml.ch
  * contrib/hbmxml/hbmxml.hbc
  * contrib/hbmxml/hbmxml.hbp
  * contrib/hbmxml/tests
  * contrib/hbmxml/tests/hbmk.hbm
  * contrib/hbmxml/tests/test.prg
  * contrib/hbmxml/tests/test.xml
    + added wrapper to miniXML library.
      Not finished yet, work in progress
  * contrib/hbxdiff
  * contrib/hbxdiff/3rd
  * contrib/hbxdiff/3rd/libxdiff
  * contrib/hbxdiff/3rd/libxdiff/AUTHORS
  * contrib/hbxdiff/3rd/libxdiff/config.h
  * contrib/hbxdiff/3rd/libxdiff/COPYING
  * contrib/hbxdiff/3rd/libxdiff/xadler32.c
  * contrib/hbxdiff/3rd/libxdiff/xadler32.h
  * contrib/hbxdiff/3rd/libxdiff/xalloc.c
  * contrib/hbxdiff/3rd/libxdiff/xbdiff.c
  * contrib/hbxdiff/3rd/libxdiff/xbdiff.h
  * contrib/hbxdiff/3rd/libxdiff/xbpatchi.c
  * contrib/hbxdiff/3rd/libxdiff/xdiff.h
  * contrib/hbxdiff/3rd/libxdiff/xdiff.hbc
  * contrib/hbxdiff/3rd/libxdiff/xdiff.hbp
  * contrib/hbxdiff/3rd/libxdiff/xdiff.txt
  * contrib/hbxdiff/3rd/libxdiff/xdiffi.c
  * contrib/hbxdiff/3rd/libxdiff/xdiffi.h
  * contrib/hbxdiff/3rd/libxdiff/xemit.c
  * contrib/hbxdiff/3rd/libxdiff/xemit.h
  * contrib/hbxdiff/3rd/libxdiff/xinclude.h
  * contrib/hbxdiff/3rd/libxdiff/xmacros.h
  * contrib/hbxdiff/3rd/libxdiff/xmerge3.c
  * contrib/hbxdiff/3rd/libxdiff/xmissing.c
  * contrib/hbxdiff/3rd/libxdiff/xmissing.h
  * contrib/hbxdiff/3rd/libxdiff/xpatchi.c
  * contrib/hbxdiff/3rd/libxdiff/xprepare.c
  * contrib/hbxdiff/3rd/libxdiff/xprepare.h
  * contrib/hbxdiff/3rd/libxdiff/xrabdiff.c
  * contrib/hbxdiff/3rd/libxdiff/xrabply.c
  * contrib/hbxdiff/3rd/libxdiff/xtypes.h
  * contrib/hbxdiff/3rd/libxdiff/xutils.c
  * contrib/hbxdiff/3rd/libxdiff/xutils.h
  * contrib/hbxdiff/3rd/libxdiff/xversion.c
  * contrib/hbxdiff/hbxdiff.c
  * contrib/hbxdiff/hbxdiff.ch
  * contrib/hbxdiff/hbxdiff.hbc
  * contrib/hbxdiff/hbxdiff.hbp
  * contrib/hbxdiff/tests
  * contrib/hbxdiff/tests/hbmk.hbm
  * contrib/hbxdiff/tests/test.prg
  * contrib/hbxdiff/tests/test2.prg
  * contrib/hbxdiff/tests/test3.prg
    + added wrapper to libxdiff library.
      Not finished yet, work in progress
2011-01-02 09:15:19 +00:00

93 lines
1.9 KiB
C

/*
* LibXDiff by Davide Libenzi ( File Differential Library )
* Copyright (C) 2003 Davide Libenzi
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser 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
*
* Davide Libenzi <davidel@xmailserver.org>
*
*/
#include "xinclude.h"
#if !defined(HAVE_MEMCHR)
void *memchr(void const *p, int c, long n) {
char const *pc = p;
for (; n; n--, pc++)
if (*pc == (char) c)
return pc;
return NULL;
}
#endif /* #if !defined(HAVE_MEMCHR) */
#if !defined(HAVE_MEMCMP)
int memcmp(void const *p1, void const *p2, long n) {
char const *pc1 = p1, *pc2 = p2;
for (; n; n--, pc1++, pc2++)
if (*pc1 != *pc2)
return *pc1 - *pc2;
return 0;
}
#endif /* #if !defined(HAVE_MEMCMP) */
#if !defined(HAVE_MEMCPY)
void *memcpy(void *d, void const *s, long n) {
char *dc = d;
char const *sc = s;
for (; n; n--, dc++, sc++)
*dc = *sc;
return d;
}
#endif /* #if !defined(HAVE_MEMCPY) */
#if !defined(HAVE_MEMSET)
void *memset(void *d, int c, long n) {
char *dc = d;
for (; n; n--, dc++)
*dc = (char) c;
return d;
}
#endif /* #if !defined(HAVE_MEMSET) */
#if !defined(HAVE_STRLEN)
long strlen(char const *s) {
char const *tmp;
for (tmp = s; *s; s++);
return (long) (s - tmp);
}
#endif /* #if !defined(HAVE_STRLEN) */