-- Leo's gemini proxy

-- Connecting to git.thebackupbox.net:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

repo: libirc
action: commit
revision:
path_from:
revision_from: 66e6d359ac08684ed63541548ac7fdb7309abf11:
path_to:
revision_to:

git.thebackupbox.net

libirc

git://git.thebackupbox.net/libirc

commit 66e6d359ac08684ed63541548ac7fdb7309abf11
Author: epochqwert <epoch@hacking.allowed.org>
Date:   Sun Jun 21 23:28:15 2015 -0500

    added a check that there was at least ONE fd in the fd list passed to runem

diff --git a/libirc.c b/libirc.c

index 05a682f47780457c803a59b5bd50c3dd718edf7b..

index ..93447666541e246e91205b31010f1ba4191a242f 100644

--- a/libirc.c
+++ b/libirc.c
@@ -92,6 +92,7 @@ int runem(int *fds,void (*line_handler)(),void (*extra_handler)()) {
  int blsize=CHUNK;
  int bllen=0;
  char buffers[fdl][CHUNK];//THIS IS *NOT* NULL TERMINATED.
+ if(fds[0] == -1) return 0;
  FD_ZERO(&master);
  FD_ZERO(&readfs);
  for(i=0;fds[i] != -1;i++) {
@@ -108,7 +109,6 @@ int runem(int *fds,void (*line_handler)(),void (*extra_handler)()) {
   if((j=select(fdmax+1,&readfs,0,0,&timeout)) == -1 ) return perror("select"),1;
   for(i=0;fds[i] != -1;i++) if(extra_handler) extra_handler(fds[i]);
   if(j == 0) continue;//don't bother to loop over them.
-  printf("getting there.\n");
   for(i=0;fds[i] != -1;i++) {
    if(!FD_ISSET(fds[i],&readfs)) continue;
    if((n=recv(fds[i],buffers[i],CHUNK,0)) <= 0) return (perror("recv"),2);
@@ -123,8 +123,6 @@ int runem(int *fds,void (*line_handler)(),void (*extra_handler)()) {
    }
    memcpy(backlogs[i]+bllen,buffers[i],n);
    bllen+=n;
-
-//HERE EPOCH
    while((t=strstr(backlogs[i],"\r\n"))) {
     line=backlogs[i];
     if(!strncmp(line,"PING",4)) {

-----END OF PAGE-----

-- Response ended

-- Page fetched on Sun Jun 2 16:52:47 2024