PDP-10 / supdup

Community maintained SUPDUP client for Unix
Other
16 stars 8 forks source link

Not building on OS X 10.12 with clang #1

Closed b4 closed 7 years ago

b4 commented 7 years ago

make supdup cc -g -o supdup -DTERMCAP supdup.c -ltermcap supdup.c:185:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] putch (c) ^ supdup.c:190:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ supdup.c:193:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] put_newline () ^ supdup.c:201:5: warning: implicit declaration of function 'tputs' is invalid in C99 [-Wimplicit-function-declaration] tputs (fresh_line, 1, putch); ^ supdup.c:215:3: warning: implicit declaration of function 'ttyoflush' is invalid in C99 [-Wimplicit-function-declaration] ttyoflush (); ^ supdup.c:216:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ supdup.c:248:30: warning: implicit declaration of function 'inet_addr' is invalid in C99 [-Wimplicit-function-declaration] tsin.sin_addr.s_addr = inet_addr (name); ^ supdup.c:256:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] main (argc, argv) ^ supdup.c:264:7: warning: implicitly declaring library function 'exit' with type 'void (int) attribute((noreturn))' [-Wimplicit-function-declaration] exit (1); ^ supdup.c:264:7: note: include the header or explicitly provide a declaration for 'exit' supdup.c:326:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (cp = strchr(line, '\n'))


supdup.c:326:14: note: place parentheses around the assignment to silence this warning
      if (cp = strchr(line, '\n'))
             ^
          (                      )
supdup.c:326:14: note: use '==' to turn this assignment into an equality comparison
      if (cp = strchr(line, '\n'))
             ^
             ==
supdup.c:338:7: error: non-void function 'main' should return a value [-Wreturn-type]
      return;
      ^
supdup.c:353:23: warning: implicit declaration of function 'atoi' is invalid in C99 [-Wimplicit-function-declaration]
      tsin.sin_port = atoi (argv[2]);
                      ^
supdup.c:357:11: error: non-void function 'main' should return a value [-Wreturn-type]
          return;
          ^
supdup.c:366:7: error: non-void function 'main' should return a value [-Wreturn-type]
      return;
      ^
supdup.c:368:33: warning: implicitly declaring library function 'malloc' with type 'void *(unsigned long)' [-Wimplicit-function-declaration]
  outstring = (unsigned char *) malloc (OUTSTRING_BUFSIZ);
                                ^
supdup.c:368:33: note: include the header <stdlib.h> or explicitly provide a declaration for 'malloc'
supdup.c:374:3: warning: implicit declaration of function 'sup_term' is invalid in C99 [-Wimplicit-function-declaration]
  sup_term ();
  ^
supdup.c:379:27: warning: implicit declaration of function 'inet_ntoa' is invalid in C99 [-Wimplicit-function-declaration]
  printf("Trying %s ...", inet_ntoa (tsin.sin_addr));
                          ^
supdup.c:379:27: warning: format specifies type 'char *' but the argument has type 'int' [-Wformat]
  printf("Trying %s ...", inet_ntoa (tsin.sin_addr));
                 ~~       ^~~~~~~~~~~~~~~~~~~~~~~~~
                 %d
supdup.c:386:7: error: non-void function 'main' should return a value [-Wreturn-type]
      return;
      ^
supdup.c:397:5: warning: implicit declaration of function 'supdup' is invalid in C99 [-Wimplicit-function-declaration]
    supdup (net);
    ^
supdup.c:428:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
sup_term ()
^
supdup.c:446:3: error: function declared in block scope cannot have 'static' storage class
  static void zap();
  ^
supdup.c:449:11: warning: implicit declaration of function 'systgetent' is invalid in C99 [-Wimplicit-function-declaration]
  switch (systgetent (bp))
          ^
supdup.c:488:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
    else
    ^
supdup.c:526:13: error: static declaration of 'zap' follows non-static declaration
static void zap ()
            ^
supdup.c:446:15: note: previous declaration is here
  static void zap();
              ^
supdup.c:545:20: warning: implicit declaration of function 'tgetnum' is invalid in C99 [-Wimplicit-function-declaration]
          tc->tcval.num = tgetnum(tc->tcname);
                          ^
supdup.c:551:20: warning: implicit declaration of function 'tgetflag' is invalid in C99 [-Wimplicit-function-declaration]
          tc->tcval.flg = tgetflag(tc->tcname);
                          ^
supdup.c:577:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
systgetent (bp)
^
supdup.c:582:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  if (term = getenv ("TERM"))
      ~~~~~^~~~~~~~~~~~~~~~~
supdup.c:582:12: note: place parentheses around the assignment to silence this warning
  if (term = getenv ("TERM"))
           ^
      (                     )
supdup.c:582:12: note: use '==' to turn this assignment into an equality comparison
  if (term = getenv ("TERM"))
           ^
           ==
supdup.c:583:12: warning: implicit declaration of function 'tgetent' is invalid in C99 [-Wimplicit-function-declaration]
    return tgetent (bp, term);
           ^
supdup.c:638:13: warning: implicit declaration of function 'read' is invalid in C99 [-Wimplicit-function-declaration]
      tcc = read (fd, tibuf, 1);
            ^
supdup.c:649:4: warning: implicit declaration of function 'select' is invalid in C99 [-Wimplicit-function-declaration]
          select(fd+1, &readfds, 0, 0, 0);
          ^
supdup.c:658:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
supdup ()
^
supdup.c:700:11: warning: implicit declaration of function 'sleep' is invalid in C99 [-Wimplicit-function-declaration]
          sleep (5);
          ^
supdup.c:753:15: warning: implicit declaration of function 'command' is invalid in C99 [-Wimplicit-function-declaration]
              command (c);
              ^
supdup.c:806:9: warning: implicit declaration of function 'netflush' is invalid in C99 [-Wimplicit-function-declaration]
        netflush (0);
        ^
supdup.c:808:9: warning: implicit declaration of function 'suprcv' is invalid in C99 [-Wimplicit-function-declaration]
        suprcv ();
        ^
supdup.c:815:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
command (chr)
^
supdup.c:826:7: error: non-void function 'command' should return a value [-Wreturn-type]
      return;
      ^
supdup.c:854:7: error: non-void function 'command' should return a value [-Wreturn-type]
      return;
      ^
supdup.c:859:3: error: non-void function 'command' should return a value [-Wreturn-type]
  return;
  ^
supdup.c:862:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
status ()
^
supdup.c:882:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
suspend ()
^
supdup.c:914:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
help ()
^
supdup.c:954:7: error: non-void function 'help' should return a value [-Wreturn-type]
      return;
      ^
supdup.c:956:7: error: non-void function 'help' should return a value [-Wreturn-type]
      return;
      ^
supdup.c:960:3: error: non-void function 'help' should return a value [-Wreturn-type]
  return;
  ^
supdup.c:963:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
punt (logout_p)
^
supdup.c:983:11: error: non-void function 'punt' should return a value [-Wreturn-type]
          return;
          ^
supdup.c:1009:7: warning: implicit declaration of function 'close' is invalid in C99 [-Wimplicit-function-declaration]
      close (net);
      ^
supdup.c:1014:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
quit ()
^
supdup.c:1019:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
rlogout ()
^
supdup.c:1039:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
suprcv ()
^
supdup.c:1301:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
ttyoflush ()
^
supdup.c:1315:11: warning: implicit declaration of function 'write' is invalid in C99 [-Wimplicit-function-declaration]
      n = write (fileno (stdout), back, n);
          ^
supdup.c:1327:9: error: non-void function 'ttyoflush' should return a value [-Wreturn-type]
        return;
        ^
supdup.c:1332:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
netflush (dont_die)
^
supdup.c:1344:13: error: non-void function 'netflush' should return a value [-Wreturn-type]
            return;
            ^
supdup.c:1346:13: error: non-void function 'netflush' should return a value [-Wreturn-type]
            return;
            ^
supdup.c:1437:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
top ()
^
supdup.c:1446:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
setescape ()
^
supdup.c:1540:7: warning: extra tokens at end of #endif directive [-Wextra-tokens]
#endif;
      ^
      //
supdup.c:1651:3: error: "Unimplemented OS routine os_ttyinit()"
# error "Unimplemented OS routine os_ttyinit()"
  ^
supdup.c:1666:3: error: "Unimplemented OS routine os_ttyin()"
# error "Unimplemented OS routine os_ttyin()"
  ^
supdup.c:1677:3: error: "Unimplemented OS routine os_ttyout()"
# error "Unimplemented OS routine os_ttyout()"
  ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
46 warnings and 20 errors generated.
make: *** [supdup] Error 1

This issue is partially for my own note.
larsbrinkhoff commented 7 years ago

Sorry, I haven't done much work to merge in changes from everyone, so this isn't expected to work.

larsbrinkhoff commented 7 years ago

I merged in some changes to make it work in BSDs. It should probably be better now. But there's nothing specifically for OS X... I mean macOS.

b4 commented 7 years ago

Builds now.