another update from CVS HEAD, for QA
[alioth/jupp.git] / blocks.h
1 /*
2  *      Fast block move/copy subroutines
3  *      Copyright
4  *              (C) 1992 Joseph H. Allen
5  *
6  *      This file is part of JOE (Joe's Own Editor)
7  */
8 #ifndef _JOE_BLOCKS_H
9 #define _JOE_BLOCKS_H 1
10
11 #ifdef EXTERN_B_C
12 __IDSTRING(rcsid_blocks_h, "$MirOS: contrib/code/jupp/blocks.h,v 1.7 2017/12/06 21:16:54 tg Exp $");
13 #endif
14
15 /* char *mmove(char *d,char *s,int sz); Copy 'sz' bytes from 's' to 'd'.
16  * Chooses either mbkwd or mfwrd to do this such that the data won't get
17  * clobbered.
18  */
19 void *mmove(void *d, const void *s, int sz);
20
21 /* char *mset(char *d,char c,int sz); Set 'sz' bytes at 'd' to 'c'.
22  * If 'sz'==0 nothing happens
23  * Return original value of 'd'
24  */
25 unsigned char *mset(void *dest, unsigned char c, int sz);
26
27 /* int *msetI(int *d,int c,int sz); Set 'sz' ints at 'd' to 'c'.
28  * If 'sz'==0 nothing happens
29  * Returns orininal value of 'd'
30  */
31 int *msetI(void *dest, int c, int sz);
32
33 /* void **msetP(void **d,void *c,int sz); Set 'sz' pointers at 'd' to 'c'.
34  * If 'sz'==0 nothing happens
35  * Returns orininal value of 'd'
36  */
37 void **msetP(void **dest, void *c, int sz);
38
39 /* int mcnt(char *blk,char c,int size);
40  *
41  * Count the number of occurances a character appears in a block
42  */
43 int mcnt(unsigned char *blk, unsigned char c, int size);
44 #endif