Initial import
This commit is contained in:
58
third_party/f2c/util.c
vendored
Normal file
58
third_party/f2c/util.c
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
#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
|
||||
Reference in New Issue
Block a user