version 1.64, 2000/07/16 08:27:21 |
version 1.65, 2000/08/19 18:48:10 |
|
|
c->cb_arg = NULL; |
c->cb_arg = NULL; |
c->cb_event = 0; |
c->cb_event = 0; |
c->dettach_user = NULL; |
c->dettach_user = NULL; |
|
c->input_filter = NULL; |
debug("channel %d: new [%s]", found, remote_name); |
debug("channel %d: new [%s]", found, remote_name); |
return found; |
return found; |
} |
} |
|
|
} |
} |
return -1; |
return -1; |
} |
} |
buffer_append(&c->input, buf, len); |
if(c->input_filter != NULL) { |
|
if (c->input_filter(&c->input, buf, len) == -1) { |
|
debug("filter stops channel %d", c->self); |
|
chan_read_failed(c); |
|
} |
|
} else { |
|
buffer_append(&c->input, buf, len); |
|
} |
} |
} |
return 1; |
return 1; |
} |
} |
|
|
return; |
return; |
} |
} |
c->dettach_user = NULL; |
c->dettach_user = NULL; |
|
} |
|
void |
|
channel_register_filter(int id, channel_filter_fn *fn) |
|
{ |
|
Channel *c = channel_lookup(id); |
|
if (c == NULL) { |
|
log("channel_register_filter: %d: bad id", id); |
|
return; |
|
} |
|
c->input_filter = fn; |
} |
} |
|
|
void |
void |