fix iterator error
This commit is contained in:
parent
4aa2a50677
commit
011bd00252
114
audio/daapd/patches/patch-libhttpd_src_select_h
Normal file
114
audio/daapd/patches/patch-libhttpd_src_select_h
Normal file
@ -0,0 +1,114 @@
|
||||
$OpenBSD: patch-libhttpd_src_select_h,v 1.1 2010/05/28 09:33:17 espie Exp $
|
||||
--- libhttpd/src/select.h.orig Fri May 28 11:24:53 2010
|
||||
+++ libhttpd/src/select.h Fri May 28 11:29:41 2010
|
||||
@@ -81,8 +81,11 @@ class Clients { (protected)
|
||||
c++;
|
||||
}
|
||||
|
||||
- return 0;
|
||||
+ return c;
|
||||
}
|
||||
+ ClientIterator notFound() {
|
||||
+ return clientList.end();
|
||||
+ }
|
||||
|
||||
|
||||
public:
|
||||
@@ -154,7 +157,7 @@ class Clients { (protected)
|
||||
|
||||
void erase( const int fDesc ) {
|
||||
ClientIterator c;
|
||||
- if ((c = locateFDesc(fDesc)) != 0) {
|
||||
+ if ((c = locateFDesc(fDesc)) != notFound()) {
|
||||
clientList.erase(c);
|
||||
close(fDesc);
|
||||
}
|
||||
@@ -162,14 +165,14 @@ class Clients { (protected)
|
||||
|
||||
void finish( const int fDesc ) {
|
||||
ClientIterator c;
|
||||
- if ((c = locateFDesc(fDesc)) != 0) {
|
||||
+ if ((c = locateFDesc(fDesc)) != notFound()) {
|
||||
c->finished = true;
|
||||
}
|
||||
}
|
||||
|
||||
void address( const int fDesc, char address[HTTP_IP_ADDR_LEN] ) {
|
||||
ClientIterator c;
|
||||
- if ((c = locateFDesc(fDesc)) != 0) {
|
||||
+ if ((c = locateFDesc(fDesc)) != notFound()) {
|
||||
strncpy(address, c->address, HTTP_IP_ADDR_LEN);
|
||||
}
|
||||
}
|
||||
@@ -180,7 +183,7 @@ class Clients { (protected)
|
||||
|
||||
int readBuf(const int fDesc, char *destBuf, const uint len) {
|
||||
ClientIterator c;
|
||||
- if ((c = locateFDesc(fDesc)) == 0) {
|
||||
+ if ((c = locateFDesc(fDesc)) == notFound()) {
|
||||
// printf("unknown client id %d\n", fDesc);
|
||||
return 0;
|
||||
}
|
||||
@@ -192,7 +195,7 @@ class Clients { (protected)
|
||||
|
||||
int readLine(const int fDesc, char *destBuf, const uint len) {
|
||||
ClientIterator c;
|
||||
- if ((c = locateFDesc(fDesc)) == 0) {
|
||||
+ if ((c = locateFDesc(fDesc)) == notFound()) {
|
||||
// printf("unknown client id %d\n", fDesc);
|
||||
return 0;
|
||||
}
|
||||
@@ -217,7 +220,7 @@ class Clients { (protected)
|
||||
int handleWrite(int socket) {
|
||||
int bytesWritten;
|
||||
ClientIterator c;
|
||||
- if ((c = locateFDesc(socket)) == 0) {
|
||||
+ if ((c = locateFDesc(socket)) == notFound()) {
|
||||
// printf("unknown client id %d\n", socket);
|
||||
return 2;
|
||||
}
|
||||
@@ -260,7 +263,7 @@ class Clients { (protected)
|
||||
return 1;
|
||||
} else {
|
||||
ClientIterator c;
|
||||
- if ((c = locateFDesc(fDesc)) == 0) {
|
||||
+ if ((c = locateFDesc(fDesc)) == notFound()) {
|
||||
// printf("unknown client id %d\n", fDesc);
|
||||
return 2;
|
||||
}
|
||||
@@ -304,7 +307,7 @@ class Clients { (protected)
|
||||
|
||||
void doWrite(const int fDesc, const char* string, const uint len) {
|
||||
ClientIterator c;
|
||||
- if ((c = locateFDesc(fDesc)) == 0) {
|
||||
+ if ((c = locateFDesc(fDesc)) == notFound()) {
|
||||
//printf("unknown client id %d\n", fDesc);
|
||||
return;
|
||||
}
|
||||
@@ -318,7 +321,7 @@ class Clients { (protected)
|
||||
|
||||
void doWrite(const int fDesc, const char* string) {
|
||||
ClientIterator c;
|
||||
- if ((c = locateFDesc(fDesc)) == 0) {
|
||||
+ if ((c = locateFDesc(fDesc)) == notFound()) {
|
||||
//printf("unknown client id %d\n", fDesc);
|
||||
return;
|
||||
}
|
||||
@@ -351,7 +354,7 @@ class Clients { (protected)
|
||||
|
||||
void queueFile(const int socket, const int pendingFile ) {
|
||||
ClientIterator c;
|
||||
- if ((c = locateFDesc(socket)) == 0) {
|
||||
+ if ((c = locateFDesc(socket)) == notFound()) {
|
||||
// printf("unknown client id %d\n", socket);
|
||||
return;
|
||||
}
|
||||
@@ -360,7 +363,7 @@ class Clients { (protected)
|
||||
|
||||
void subscribe(const int fDesc) {
|
||||
ClientIterator c;
|
||||
- if ((c = locateFDesc(fDesc)) == 0) {
|
||||
+ if ((c = locateFDesc(fDesc)) == notFound()) {
|
||||
//printf("unknown client id %d\n", fDesc);
|
||||
return;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user