rTorrent sometimes creates invalid torrents which has empty path components.
the bitorrent spec allows for "" strings, but they make no sense in paths.
so instead of always adding a / in between, skip them.  ugh.

for example:
dict {
	'info' => dict {
		'name' => str = "some dir" (len = 8)
		'files' => list [
			dict {
				'length' => int = 12345567
				'path' => list [
					str = "" (len = 0)
					str = "foo.bin" (len = 7)
				]
			}
			...
		]
		...
	}
	...
}

ctorrent will then try to fetch the file "/some dir/foo.bin" instead of
"some dir/foo.bin" (relative to $PWD).

--- a/bencode.cpp
+++ b/bencode.cpp
@@ -258,7 +258,8 @@
     n -= r; 
     if( 'e' == *pb ) break;
     if( pathname >= endmax ) return 0;
-    *pathname++ = PATH_SP;
+    if (q)
+      *pathname++ = PATH_SP;
   }
   *pathname = '\0';
   return (pb - b + 1);
