diff options
author | des <des@FreeBSD.org> | 1998-11-06 22:14:08 +0000 |
---|---|---|
committer | des <des@FreeBSD.org> | 1998-11-06 22:14:08 +0000 |
commit | 93ce759c73e21f7ac6642b79a8e6146522b452aa (patch) | |
tree | f7eca0835b20fb3b31b3e447f024ef540f77afe0 /lib/libfetch/Makefile | |
parent | f2ceee99496bf97c1d2ffff9c8e7fd6a79474f2e (diff) | |
download | FreeBSD-src-93ce759c73e21f7ac6642b79a8e6146522b452aa.zip FreeBSD-src-93ce759c73e21f7ac6642b79a8e6146522b452aa.tar.gz |
Second of a series of cleanups to libfetch.
This commit introduces the following features:
a) the fetchStat*() functions, which return meta-information for a
document, such as size, modification time, etc.
b) the use of the com_err(3) facilities to report errors.
It also fixes a bunch of style bugs and a few logic bugs and somewhat
improves the man page.
Changed files, in alphabetical order:
Makefile:
Don't generate macros in {ftp,http}err.c.
Generate category fields for the error message lists.
Compile the error table.
Install fetch_err.h along with fetch.h.
common.c:
Remove the _netdb_errstring() macro, and add FETCH_ERR_NETDB to the
error code in the _netdb_seterr() macro.
Add categories to the _netdb_errlist table.
Report errors through the Common Error library.
common.h:
Add the DEBUG macros.
Add prototype for fetchConnect().
Remove the prototype for _fetch_errstring(), which is local to common.c
Add a categroy field to struct fetcherr, and define constants for
error categories.
Define macros for _{url,netdb,ftp,http}_seterr().
errors.et: (new file)
List error categories.
fetch.3:
Document the fetchStat*() functions.
Move the "unimplemented functionality" comments from NOTES to BUGS.
Document that applications which use libfetch must also use
libcom_err, and list existing error codes.
Undocument fetchLastErr{Code,String}.
Remove the (empty) DIAGNOSTICS section.
Mention Eugene Skepner in the AUTHORS section.
fetch.c:
Move the DEBUG macros to common.c
Add fetchStat() and fetchStatURL().
Generate error messages for URL parser errors, and fix a minor bug
in the parser.
Use 'struct url' instead of 'url_t'.
Remove fetchLastErr{Code,String}.
fetch.h:
Use 'struct url' instead of 'url_t', and remove the typedef.
Define struct url_stat (used by fetchStat()).
Add prototypes for fetchStat*().
Remove the declarations for fetchLastErr{Code,String}.
Include fetch_err.h.
fetch_err.et: (new file)
Error table for libfetch.
file.c:
Add fetchStatFile().
Use 'struct url' instead of 'url_t'.
ftp.c:
Add fetchStatFTP().
Use 'struct url' instead of 'url_t'.
Don't use fetchLastErrCode.
ftp.errors:
Add categories to all error messages.
http.c:
Add fetchStatHTTP().
Use 'struct url' instead of 'url_t'.
Don't use fetchLastErr{Code,Text}.
http.errors:
Add categories to all error messages.
Prompted by: jkh and Eugene Skepner
Numerous sugestions from: Garett Wollman and Eugene Skepner
Diffstat (limited to 'lib/libfetch/Makefile')
-rw-r--r-- | lib/libfetch/Makefile | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/lib/libfetch/Makefile b/lib/libfetch/Makefile index ca48d06..14fc44c 100644 --- a/lib/libfetch/Makefile +++ b/lib/libfetch/Makefile @@ -1,12 +1,12 @@ -# $Id: Makefile,v 1.5 1998/08/17 20:39:09 bde Exp $ +# $Id: Makefile,v 1.6 1998/11/05 19:48:16 des Exp $ LIB= fetch CFLAGS+= -I. -Wall -pedantic .if !defined(DEBUG) CFLAGS+= -DNDEBUG .endif -SRCS= fetch.c common.c ftp.c http.c file.c -DPSRCS= ftperr.c httperr.c +SRCS= fetch.c common.c ftp.c http.c file.c fetch_err.c +DPSRCS= ftperr.inc httperr.inc fetch_err.c fetch_err.h MAN3= fetch.3 CLEANFILES= ${DPSRCS} @@ -15,36 +15,37 @@ SHLIB_MINOR= 0 beforedepend: ${DPSRCS} -beforeinstall: +beforeinstall: fetch.h fetch_err.h ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ${.CURDIR}/fetch.h \ ${DESTDIR}/usr/include + ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ${.CURDIR}/fetch_err.h \ + ${DESTDIR}/usr/include -ftperr.c: ftp.errors - @echo "static struct fetcherr _ftp_errlist[] = {" \ >> ${.TARGET} +ftperr.inc: ftp.errors + @echo "static struct fetcherr _ftp_errlist[] = {" > ${.TARGET} @cat ${.ALLSRC} \ | grep -v ^# \ | sort \ - | while read NUM STRING; do \ - echo " { $${NUM}, \"$${STRING}\" },"; \ + | while read NUM CAT STRING; do \ + echo " { $${NUM}, FETCH_$${CAT}, \"$${STRING}\" },"; \ done >> ${.TARGET} - @echo " { -1, \"Unknown FTP error\" }" >> ${.TARGET} + @echo " { -1, FETCH_UNKNOWN, \"Unknown FTP error\" }" >> ${.TARGET} @echo "};" >> ${.TARGET} - @echo "#define _ftp_errstring(n) _fetch_errstring(_ftp_errlist, n)" >> ${.TARGET} - @echo "#define _ftp_seterr(n) _fetch_seterr(_ftp_errlist, n)" >> ${.TARGET} -httperr.c: http.errors - @echo "static struct fetcherr _http_errlist[] = {" \ >> ${.TARGET} +httperr.inc: http.errors + @echo "static struct fetcherr _http_errlist[] = {" > ${.TARGET} @cat ${.ALLSRC} \ | grep -v ^# \ | sort \ - | while read NUM STRING; do \ - echo " { $${NUM}, \"$${STRING}\" },"; \ + | while read NUM CAT STRING; do \ + echo " { $${NUM}, FETCH_$${CAT}, \"$${STRING}\" },"; \ done >> ${.TARGET} - @echo " { -1, \"Unknown HTTP error\" }" >> ${.TARGET} + @echo " { -1, FETCH_UNKNOWN, \"Unknown FTP error\" }" >> ${.TARGET} @echo "};" >> ${.TARGET} - @echo "#define _http_errstring(n) _fetch_errstring(_http_errlist, n)" >> ${.TARGET} - @echo "#define _http_seterr(n) _fetch_seterr(_http_errlist, n)" >> ${.TARGET} + +fetch_err.c fetch_err.h: fetch_err.et + compile_et ${.ALLSRC} .include <bsd.lib.mk> |