Repository: sharkdp/fd (language: rust)

Issue:
If --type is used, fifos/sockets/etc. are always shown
A socket:
```
> ls -alh Commands 
srwxr-xr-x 1 shark shark 0 28. Apr 2015  Commands
```

Actual output:
```
> fd -t f Commands 
Commands

> fd -t d Commands 
Commands

> fd -t l Commands 
Commands
```

Expected output:
```
> fd -t f Commands 

> fd -t d Commands 

> fd -t l Commands 
```


Discussion / hints:

Fix patch:
diff --git a/src/walk.rs b/src/walk.rs
index 954a978e1..1c5b515d4 100644
--- a/src/walk.rs
+++ b/src/walk.rs
@@ -203,6 +203,11 @@ pub fn scan(path_vec: &[PathBuf], pattern: Arc<Regex>, config: Arc<FdOptions>) {
                         || (entry_type.is_symlink() && !file_types.symlinks)
                     {
                         return ignore::WalkState::Continue;
+                    } else if !(entry_type.is_file() || entry_type.is_dir()
+                        || entry_type.is_symlink())
+                    {
+                        // This is probably a block device, char device, fifo or socket. Skip it.
+                        return ignore::WalkState::Continue;
                     }
                 } else {
                     return ignore::WalkState::Continue;


Test patch: