--- adv_cmds-147/md/md.c.orig 2017-12-29 19:30:19.505596072 +0100
+++ adv_cmds-147/md/md.c 2017-12-29 19:34:52.111156834 +0100
@@ -78,6 +78,8 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <unistd.h>
+#include <fcntl.h>
#define LINESIZE 65536 // NeXT_MOD
@@ -100,6 +102,7 @@
} dep_files[1000];
int dep_file_index;
+static int
qsort_strcmp(a, b)
struct dep *a, *b;
{
@@ -137,7 +140,14 @@
static void scan_mak(FILE *, FILE *, char *);
static void finish_mak(FILE *, FILE *);
+static int read_dep(register char *);
+static void expunge_mak(register FILE *, register FILE *);
+static void skip_mak(register FILE *, register FILE *);
+static void output_dep(FILE *);
+static void parse_dep();
+static void save_dot_o();
+int
main(argc,argv)
register char **argv;
{
@@ -152,7 +162,7 @@
if (*token++ != '-' || !*token)
break;
else { register int flag;
- for ( ; flag = *token++ ; ) {
+ for ( ; (flag = *token++) ; ) {
switch (flag) {
case 'd':
delete++;
@@ -177,7 +187,7 @@
expunge++;
break;
case 'D':
- for ( ; flag = *token++ ; )
+ for ( ; (flag = *token++) ; )
switch (flag) {
case 'c':
D_contents++;
@@ -227,7 +237,7 @@
exit(1);
} else if (D_open)
printf("%s: opened outfile \"%s\"\n", name, outfile);
- } else if (mak = find_mak(makefile)) {
+ } else if ((mak = find_mak(makefile))) {
makout = temp_mak();
out = makout;
if (expunge)
@@ -246,7 +256,7 @@
for (; argc--; argv++) {
dep_file_index = 0;
- if (size = read_dep(*argv)) {
+ if ((size = read_dep(*argv))) {
save_dot_o();
if (D_depend) printf("%s: dot_o = \"%s\"\n", name, dot_o);
@@ -269,6 +279,7 @@
}
+int
read_dep(file)
register char *file;
{
@@ -294,7 +305,7 @@
switch(statbuf.st_mode & S_IFMT) {
case S_IFREG:
if (D_time)
- printf("%s: file time = %d\n", name, statbuf.st_mtime);
+ printf("%s: file time = %ld\n", name, statbuf.st_mtime);
if (statbuf.st_size > IObuffer) {
fprintf(stderr, "%s: file \"%s\" tooo big for IObuffer\n",
@@ -304,7 +315,7 @@
break;
else if ((int) mak && statbuf.st_mtime < makstat.st_mtime) {
if (verbose || D_time)
- fprintf(stderr, "%s: skipping \"%s\" %d < %d \"%s\"\n",
+ fprintf(stderr, "%s: skipping \"%s\" %ld < %ld \"%s\"\n",
name, file, statbuf.st_mtime, makstat.st_mtime,
real_mak_name);
goto out;
@@ -345,6 +356,7 @@
return 0;
}
+static void
save_dot_o()
{
register char *cp = file_array;
@@ -355,6 +367,7 @@
*svp = 0;
}
+static void
parse_dep()
{
register char *lp = file_array;
@@ -381,7 +394,8 @@
cp = dep_line;
lp[-1] = 0;
/* skip .o file name */
- while ((c = *cp++) && c != ':'); if (!c) continue;
+ while ((c = *cp++) && c != ':');
+ if (!c) continue;
next_filename:
i = 0;
abspath = 0;
@@ -415,7 +429,7 @@
if (abspath)
*cp++ = '/';
for (c=0; c<i; c++) {register char *ccp = path_component[c];
- while (*cp++ = *ccp++);
+ while ((*cp++ = *ccp++));
*--cp = '/';
cp++;
}
@@ -425,7 +439,7 @@
dep_files[c].str = tlp;
dep_files[c].len = cp - tlp;
if (D_depend)
- printf("%s: dep_file[%d] = \"%s\" Len %d\n",
+ printf("%s: dep_file[%d] = \"%s\" Len %ld\n",
name, dep_file_index - 1, tlp, cp - tlp);
tlp = cp + 1;
if (oldc)
@@ -436,6 +450,7 @@
}
}
+static void
output_dep(out)
FILE *out;
{
@@ -514,7 +529,7 @@
if (D_open)
printf("%s: opened makefile \"%s\"\n", name, real_mak_name);
if (D_time)
- printf("%s: makefile time = %d\n", name, makstat.st_mtime);
+ printf("%s: makefile time = %ld\n", name, makstat.st_mtime);
return mak;
}
@@ -543,6 +558,7 @@
return mak;
}
+static void
skip_mak(makin, makout)
register FILE *makin, *makout;
{
@@ -566,6 +582,7 @@
printf("eof = %d str = \"%s\"", mak_eof, makbuf);
}
+static void
expunge_mak(makin, makout)
register FILE *makin, *makout;
{