ports/182888: pkg-fallout / clang fix of port misc/sls
Stefan `Sec` Zehl
sec at 42.org
Thu Oct 10 22:50:02 UTC 2013
>Number: 182888
>Category: ports
>Synopsis: pkg-fallout / clang fix of port misc/sls
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Thu Oct 10 22:50:01 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator: Stefan `Sec` Zehl
>Release: FreeBSD 8.4-STABLE amd64
>Organization:
>Environment:
System: FreeBSD ice 8.4-STABLE FreeBSD 8.4-STABLE #23 r252204: Tue Jun 25 14:30:35 CEST 2013 root at ice:/usr/obj/usr/src/sys/ICE amd64
>Description:
misc/sls does not compile with clang.
Most of the problem is K&R-style C code without function declarations.
>How-To-Repeat:
>Fix:
attached are two patches - first a "minimal" patch to get it compiling again,
the second patch is to get it warning-free on both gcc and clang.
I suggest adding both patches, but only the first is striclty necessary.
File: misc/sls/files/patch-clang
--- sls.c.org 1989-08-20 02:54:57.000000000 +0200
+++ sls.c 2013-10-11 00:17:06.000000000 +0200
@@ -90,6 +90,8 @@
extern int errno;
extern time_t time();
+void dirread (char *dirname);
+void dofile (register char *fname, int cmdarg);
/******************************************************************************/
main (ac, av)
@@ -211,6 +213,7 @@
/******************************************************************************/
+void
dofile (fname, cmdarg)
register char *fname; /* name of file to stat and list */
int cmdarg; /* =1 if fname was command line arg */
@@ -267,6 +270,7 @@
/******************************************************************************/
+void
dirread (dirname)
char *dirname;
{ /* read a directory and everything under it that's on the same device */
======================================================================
File: misc/sls/files/patch-cleanup
--- sls.c.orig 2013-10-11 00:30:50.000000000 +0200
+++ sls.c 2013-10-11 00:32:35.000000000 +0200
@@ -24,7 +24,10 @@
#include <time.h>
#include <sys/types.h>
#include <sys/stat.h>
-#include <sys/dir.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <errno.h>
+#include <dirent.h>
#define ISEXEC(m) (m & (S_IEXEC|(S_IEXEC>>3)|(S_IEXEC>>6)))
#define MAXUIDS 200 /* max #of user names from passwd file */
@@ -86,14 +89,14 @@
static int sortsfile(), sortfile();
static time_t getsixmosago(); /* for emulating 'ls' date silliness */
-extern char *getenv(), *malloc(), *realloc();
-extern int errno;
-extern time_t time();
-
void dirread (char *dirname);
void dofile (register char *fname, int cmdarg);
+void selectfs (register char *fname, register struct stat *psbuf);
+void selectf (register char *fname);
+void display (SFILESTAT *pf);
/******************************************************************************/
+int
main (ac, av)
int ac;
char *av[];
@@ -275,7 +278,7 @@
char *dirname;
{ /* read a directory and everything under it that's on the same device */
register DIR *dirp; /* ptr to directory list */
- register struct direct *dentp; /* ptr to directory entry */
+ register struct dirent *dentp; /* ptr to directory entry */
register char *pfname;
register int len;
char fname[512]; /* maximum pathname length */
@@ -318,6 +321,7 @@
/******************************************************************************/
+void
selectf (fname)
register char *fname;
{ /* allocate space for this file name for sorting */
@@ -360,6 +364,7 @@
/******************************************************************************/
+void
selectfs (fname, psbuf)
register char *fname;
register struct stat *psbuf;
@@ -598,6 +603,7 @@
/******************************************************************************/
+void
display (pf)
SFILESTAT *pf;
{ /* display info about a file */
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list