mc/slang/slmemset.c
Pavel Roskin 0dd5f511be * _slang.h: Include slang-mc.h.
* slang-mc.h: Add protection against using with system installed
S-Lang library.
* sl*.c: Only include _slang.h, but not slang.h to avoid making
symlinks.
2001-12-21 20:14:55 +00:00

43 lines
890 B
C

/* Copyright (c) 1992, 1995 John E. Davis
* All rights reserved.
*
* You may distribute under the terms of either the GNU General Public
* License or the Perl Artistic License.
*/
/* These routines are fast memcpy, memset routines. When available, I
use system rouines. For msdos, I use inline assembly. */
/* The current versions only work in the forward direction only!! */
#include "config.h"
#include <stdio.h>
#include "_slang.h"
void SLmemset(char *p, char space, int n)
{
#if defined(msdos) && !defined(__WIN32__) && !defined(__GO32__)
asm mov al, space
asm mov dx, di
asm mov cx, n
asm les di, p
asm cld
asm rep stosb
asm mov di, dx
#else
register char *pmax;
pmax = p + (n - 4);
n = n % 4;
while (p <= pmax)
{
*p++ = space; *p++ = space; *p++ = space; *p++= space;
}
while (n--) *p++ = space;
#endif
}