Index: ChangeLog
===================================================================
--- ChangeLog	(revision 5221)
+++ ChangeLog	(revision 5223)
@@ -3,5 +3,6 @@
 	* Do not set errno to zero in ogg_vorbis codec filter (Closes: #191)
 	* Updated data types for struct roar_audio_info (Closes: #189)
-	* Removed old functions from API (Closes: #186)
+	* Removed old functions from API (Closes: #186, See: #130)
+	* Removed old roarclients (See: #130)
 
 v. 0.4 - Fri Nov 11 2011 20:12 CET
Index: include/libroar/file.h
===================================================================
--- include/libroar/file.h	(revision 5222)
+++ include/libroar/file.h	(revision 5223)
@@ -44,5 +44,4 @@
 
 int     roar_file_codecdetect(char * buf, int len);
-ssize_t roar_file_send_raw   (int out, int in) _LIBROAR_ATTR_DEPRECATED;
 
 char  * roar_cdromdevice     (void);
Index: libroar/file.c
===================================================================
--- libroar/file.c	(revision 5222)
+++ libroar/file.c	(revision 5223)
@@ -35,11 +35,4 @@
 
 #include "libroar.h"
-
-#define BUFFERSIZE  8192
-#define BUFMAX     65536
-
-#ifdef ROAR_HAVE_IO_POSIX
-#define _CAN_OPERATE
-#endif
 
 int roar_file_codecdetect(char * buf, int len) {
@@ -90,45 +83,4 @@
 }
 
-ssize_t roar_file_send_raw (int out, int in) {
-#ifdef _CAN_OPERATE
- ssize_t r = 0;
-#ifdef ROAR_HAVE_LINUX_SENDFILE
- ssize_t ret;
-#endif
- int len;
- char buf[BUFFERSIZE];
-#if defined(__linux__) && defined(ROAR_HAVE_IPV4)
- int cork_new = 1, cork_old;
- socklen_t cork_len = sizeof(int);
-
- if ( getsockopt(out, IPPROTO_TCP, TCP_CORK, &cork_old, &cork_len) == -1 ) {
-  cork_old = -1;
- } else {
-  setsockopt(out, IPPROTO_TCP, TCP_CORK, &cork_new, sizeof(int));
- }
-#endif
-
- roar_debug_warn_obsolete("roar_file_send_raw", "roar_vio_copy_data", NULL);
-
-#ifdef ROAR_HAVE_LINUX_SENDFILE
- while ((ret = sendfile(out, in, NULL, BUFMAX)) > 0)
-  r += ret;
-#endif
-
- // TODO: try mmap here!
-
- while ((len = read(in, buf, BUFFERSIZE)) > 0)
-  r += write(out, buf, len);
-
-#if defined(__linux__) && defined(ROAR_HAVE_IPV4)
- if ( cork_old != -1 )
-  setsockopt(out, IPPROTO_TCP, TCP_CORK, &cork_old, cork_len);
-#endif
- return r;
-#else
- return -1;
-#endif
-}
-
 char  * roar_cdromdevice     (void) {
  char * k;
Index: libroar/vio_ops.c
===================================================================
--- libroar/vio_ops.c	(revision 4876)
+++ libroar/vio_ops.c	(revision 5223)
@@ -38,8 +38,52 @@
 #define ROAR_VIO_COPY_BUFSIZE 1024
 
+#define BUFMAX     65536
+
+#ifdef ROAR_HAVE_IO_POSIX
+#define _CAN_OPERATE
+#endif
+
+#ifdef _CAN_OPERATE
+static inline ssize_t _send_file_raw (int out, int in) {
+ ssize_t r = 0;
+#ifdef ROAR_HAVE_LINUX_SENDFILE
+ ssize_t ret;
+#endif
+#if defined(__linux__) && defined(ROAR_HAVE_IPV4)
+ int cork_new = 1, cork_old;
+ socklen_t cork_len = sizeof(int);
+
+ if ( getsockopt(out, IPPROTO_TCP, TCP_CORK, &cork_old, &cork_len) == -1 ) {
+  cork_old = -1;
+ } else {
+  setsockopt(out, IPPROTO_TCP, TCP_CORK, &cork_new, sizeof(int));
+ }
+#endif
+
+ roar_debug_warn_obsolete("roar_file_send_raw", "roar_vio_copy_data", NULL);
+
+#ifdef ROAR_HAVE_LINUX_SENDFILE
+ while ((ret = sendfile(out, in, NULL, BUFMAX)) > 0)
+  r += ret;
+#endif
+
+ // TODO: try mmap here!
+
+#if defined(__linux__) && defined(ROAR_HAVE_IPV4)
+ if ( cork_old != -1 )
+  setsockopt(out, IPPROTO_TCP, TCP_CORK, &cork_old, cork_len);
+#endif
+ return r;
+}
+#endif
+
+
 ssize_t roar_vio_copy_data   (struct roar_vio_calls * out, struct roar_vio_calls * in) {
  char    buf[ROAR_VIO_COPY_BUFSIZE];
  ssize_t len;
  ssize_t done = 0;
+#ifdef _CAN_OPERATE
+ int in_fh, out_fh;
+#endif
 
  ROAR_DBG("roar_vio_copy_data(out=%p, in=%p) = ?", out, in);
@@ -49,4 +93,10 @@
   return -1;
  }
+
+#ifdef _CAN_OPERATE
+ if ( roar_vio_ctl(in, ROAR_VIO_CTL_GET_READ_FH, &in_fh) == 0 )
+  if ( roar_vio_ctl(out, ROAR_VIO_CTL_GET_WRITE_FH, &out_fh) == 0 )
+   _send_file_raw(out_fh, in_fh);
+#endif
 
  roar_err_clear_all();
Index: roarclients/.release-helper
===================================================================
--- roarclients/.release-helper	(revision 5223)
+++ roarclients/.release-helper	(revision 5223)
@@ -0,0 +1,3 @@
+#!RELEASE-HELPER:0.0beta0
+@RM roarcatsendfile.c
+#!END
Index: roarclients/Makefile
===================================================================
--- roarclients/Makefile	(revision 5109)
+++ roarclients/Makefile	(revision 5223)
@@ -9,5 +9,5 @@
 
 #TARGETS_TESTS=pinentrytest zcattest pgptest pipetest polytest roarfctest
-#TARGETS_OLD=roarcatad roarcat2sock roarcatsendfile roarcatpassfh roarsocktypes
+#TARGETS_OLD=roarcatad roarcat2sock roarcatpassfh roarsocktypes
 
 TARGETS=$(TARGETS_IO) $(TARGETS_CTL) $(TARGETS_DSP) $(TARGETS_MISC) $(TARGETS_DEVEL) $(TARGETS_EXAMPLE) $(TARGETS_M) $(TARGETS_VIO)
