diff options
Diffstat (limited to 'contrib/libf2c/libI77/util.c')
-rw-r--r-- | contrib/libf2c/libI77/util.c | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/contrib/libf2c/libI77/util.c b/contrib/libf2c/libI77/util.c new file mode 100644 index 0000000..6e7c52b --- /dev/null +++ b/contrib/libf2c/libI77/util.c @@ -0,0 +1,52 @@ +#include "config.h" +#ifndef NON_UNIX_STDIO +#define _INCLUDE_POSIX_SOURCE /* for HP-UX */ +#define _INCLUDE_XOPEN_SOURCE /* for HP-UX */ +#include <sys/types.h> +#include <sys/stat.h> +#endif +#include "f2c.h" +#include "fio.h" + +void +g_char (char *a, ftnlen alen, char *b) +{ + char *x = a + alen, *y = b + alen; + + for (;; y--) + { + if (x <= a) + { + *b = 0; + return; + } + if (*--x != ' ') + break; + } + *y-- = 0; + do + *y-- = *x; + while (x-- > a); +} + +void +b_char (char *a, char *b, ftnlen blen) +{ + int i; + for (i = 0; i < blen && *a != 0; i++) + *b++ = *a++; + for (; i < blen; i++) + *b++ = ' '; +} + +#ifndef NON_UNIX_STDIO +long +f__inode (char *a, int *dev) +{ + struct stat x; + if (stat (a, &x) < 0) + return (-1); + *dev = x.st_dev; + return (x.st_ino); +} +#endif |