386BSD 0.1 development
[unix-history] / usr / src / usr.bin / fgrep / std.c
CommitLineData
a3209dfc
WJ
1/* std.c - compensate for a few missing library functions.
2 In the Public Domain; written by Mike Haertel. */
3
4#include "std.h"
5#include "unix.h"
6
7#ifdef X_memmove
8PTR
9DEFUN(memmove, (d, s, n), PTR d AND PTRCONST s AND size_t n)
10{
11 char *dd;
12 const char *ss;
13
14 dd = d;
15 ss = s;
16 if (dd > ss && dd < ss + n)
17 {
18 dd += n;
19 ss += n;
20 while (n--)
21 *--dd = *--ss;
22 }
23 else
24 while (n--)
25 *dd++ = *ss++;
26 return d;
27}
28#endif /* X_memmove */
29
30#ifdef X_remove
31#if defined(unix) || defined(__unix__)
32int
33DEFUN(remove, (filename), const char *filename)
34{
35 extern int EXFUN(unlink, (const char *));
36
37 return unlink(filename);
38}
39#endif /* unix */
40#endif /* X_strerror */
41
42#ifdef X_strerror
43#if defined(unix) || defined(__unix__)
44char *
45DEFUN(strerror, (errnum), int errnum)
46{
47 extern int sys_nerr;
48 extern char *sys_errlist[];
49
50 if (errnum > 0 && errnum < sys_nerr)
51 return sys_errlist[errnum];
52 return "";
53}
54#endif /* unix */
55#endif /* X_strerror */