59 lines
954 B
C
59 lines
954 B
C
|
#include "libc/calls/calls.h"
|
||
|
#include "libc/calls/struct/stat.h"
|
||
|
#include "third_party/f2c/f2c.h"
|
||
|
|
||
|
VOID
|
||
|
#ifdef KR_headers
|
||
|
#define Const /*nothing*/
|
||
|
g_char(a, alen, b) char *a,
|
||
|
*b;
|
||
|
ftnlen alen;
|
||
|
#else
|
||
|
#define Const const
|
||
|
g_char(const char *a, ftnlen alen, char *b)
|
||
|
#endif
|
||
|
{
|
||
|
Const char *x = a + alen;
|
||
|
char *y = b + alen;
|
||
|
|
||
|
for (;; y--) {
|
||
|
if (x <= a) {
|
||
|
*b = 0;
|
||
|
return;
|
||
|
}
|
||
|
if (*--x != ' ') break;
|
||
|
}
|
||
|
*y-- = 0;
|
||
|
do
|
||
|
*y-- = *x;
|
||
|
while (x-- > a);
|
||
|
}
|
||
|
|
||
|
VOID
|
||
|
#ifdef KR_headers
|
||
|
b_char(a, b, blen) char *a,
|
||
|
*b;
|
||
|
ftnlen blen;
|
||
|
#else
|
||
|
b_char(const char *a, char *b, ftnlen blen)
|
||
|
#endif
|
||
|
{
|
||
|
int i;
|
||
|
for (i = 0; i < blen && *a != 0; i++) *b++ = *a++;
|
||
|
for (; i < blen; i++) *b++ = ' ';
|
||
|
}
|
||
|
#ifndef NON_UNIX_STDIO
|
||
|
#ifdef KR_headers
|
||
|
long f__inode(a, dev) char *a;
|
||
|
int *dev;
|
||
|
#else
|
||
|
long f__inode(char *a, int *dev)
|
||
|
#endif
|
||
|
{
|
||
|
struct stat x;
|
||
|
if (stat(a, &x) < 0) return (-1);
|
||
|
*dev = x.st_dev;
|
||
|
return (x.st_ino);
|
||
|
}
|
||
|
#endif
|