Package: fnord Version: 1.10-2 Severity: minor Tags: patch This patch silences a few compiler warnings. I'm not sure if the patch introduces portability problems, but it seems to work here.
-- Martin Rudat
--- fnord-1.10-2/debian/diff/warnings.diff 1970-01-01 10:00:00.000000000 +1000
+++ fnord-1.10/debian/diff/warnings.diff 2007-02-24 14:13:11.000000000 +1100
@@ -0,0 +1,114 @@
+diff -u buffer_flush.c buffer_flush.c
+--- buffer_flush.c 2002-03-25 07:13:59.000000000 +1100
++++ buffer_flush.c 2007-02-24 13:58:29.000000000 +1100
+@@ -1,6 +1,6 @@
+ #include "buffer.h"
+
+-extern int buffer_stubborn(int (*op)(),int fd,const char* buf, unsigned int len);
++extern int buffer_stubborn(ssize_t (*op)(int, const void*,size_t),int fd,const char* buf, unsigned int len);
+
+ extern int buffer_flush(buffer* b) {
+ register int p;
+diff -u buffer.h buffer.h
+--- buffer.h 2003-01-21 23:33:19.000000000 +1100
++++ buffer.h 2007-02-24 13:54:01.000000000 +1100
+@@ -1,13 +1,15 @@
+ #ifndef BUFFER_H
+ #define BUFFER_H
+
++#include <unistd.h>
++
+ typedef struct buffer {
+ char *x;
+ unsigned int p;
+ unsigned int n;
+ unsigned int a;
+ int fd;
+- int (*op)();
++ ssize_t (*op)(int, const void *, size_t);
+ } buffer;
+
+ #define BUFFER_INIT(op,fd,buf,len) { (buf), 0, 0, (len), (fd), (op) }
+@@ -15,7 +17,7 @@
+ #define BUFFER_INSIZE 8192
+ #define BUFFER_OUTSIZE 8192
+
+-extern void buffer_init(buffer* b,int (*op)(),int fd,char* y,unsigned int ylen);
++extern void buffer_init(buffer* b,ssize_t (*op)(int, const void*, size_t),int fd,char* y,unsigned int ylen);
+
+ extern int buffer_flush(buffer* b);
+ extern int buffer_put(buffer* b,const char* x,unsigned int len);
+diff -u buffer_put.c buffer_put.c
+--- buffer_put.c 2002-03-25 07:13:59.000000000 +1100
++++ buffer_put.c 2007-02-24 13:57:45.000000000 +1100
+@@ -1,7 +1,7 @@
+ #include "byte.h"
+ #include "buffer.h"
+
+-extern int buffer_stubborn(int (*op)(),int fd,const char* buf, unsigned int len);
++extern int buffer_stubborn(ssize_t (*op)(int, const void*, size_t),int fd,const char* buf, unsigned int len);
+
+ int buffer_put(buffer* b,const char* buf,unsigned int len) {
+ if (len>b->a-b->p) { /* doesn't fit */
+diff -u buffer_stubborn.c buffer_stubborn.c
+--- buffer_stubborn.c 2002-03-25 07:13:59.000000000 +1100
++++ buffer_stubborn.c 2007-02-24 13:51:59.000000000 +1100
+@@ -1,7 +1,7 @@
+ #include <errno.h>
+ #include "buffer.h"
+
+-int buffer_stubborn(int (*op)(),int fd,const char* buf, unsigned int len) {
++int buffer_stubborn(ssize_t (*op)(int, const void*, size_t),int fd,const char* buf, unsigned int len) {
+ int w;
+ while (len) {
+ if ((w=op(fd,buf,len))<0) {
+diff -u httpd.c httpd.c
+--- httpd.c 2005-10-05 20:37:41.000000000 +1000
++++ httpd.c 2007-02-24 13:59:11.000000000 +1100
+@@ -312,13 +312,13 @@
+ return 0;
+ }
+
+-static unsigned int elen(register const char *const *e) {
++static unsigned int elen(register char *const e[]) {
+ register unsigned int i=0;
+ while (e[i]) i++;
+ return i;
+ }
+
+-static void do_cgi(const char* pathinfo,const char* const* envp) {
++static void do_cgi(const char* pathinfo,char *const envp[]) {
+ const char *method_name[]={ "?", "GET", "HEAD", "POST"};
+ char cgi_env_buf[MAXHEADERLEN*2+PATH_MAX+200];
+ register unsigned int en=elen(envp);
+@@ -515,7 +515,7 @@
+ buffer_put(buffer_1,s+i,sl-i);
+ }
+
+-static void start_cgi(int nph,const char* pathinfo,const char *const *envp) {
++static void start_cgi(int nph,const char* pathinfo,char *const envp[]) {
+ size_t size=0;
+ int n;
+ int pid;
+@@ -1278,7 +1278,7 @@
+ #endif
+ }
+
+-int main(int argc,char *argv[],const char *const *envp) {
++int main(int argc,char *argv[],char *const envp[]) {
+ char buf[MAXHEADERLEN];
+ #if 0
+ char buf2[MAXHEADERLEN];
+@@ -1530,10 +1530,11 @@
+ if(child < 0) {
+ badrequest(500, "Internal Server Error", "Server Resource problem.");
+ } else if(child == 0) {
+- const char *argv[5] = { auth_script, host, url, authorization, NULL };
++ char *const argv[5] = { auth_script, host, url, strdup(authorization), NULL };
+
+ dup2(2, 1);
+ execve(auth_script, argv, envp);
++ free(argv[3]);
+ _exit(1);
+ } else {
+ int status;
signature.asc
Description: PGP signature

