Fix panic when parsing unknown flag followed by empty argument (#173)

Signed-off-by: Oren Shomron <shomron@gmail.com>
diff --git a/flag.go b/flag.go
index 5cc710c..9beeda8 100644
--- a/flag.go
+++ b/flag.go
@@ -925,13 +925,16 @@
 	}
 
 	first := args[0]
-	if first[0] == '-' {
+	if len(first) > 0 && first[0] == '-' {
 		//--unknown --next-flag ...
 		return args
 	}
 
 	//--unknown arg ... (args will be arg ...)
-	return args[1:]
+	if len(args) > 1 {
+		return args[1:]
+	}
+	return nil
 }
 
 func (f *FlagSet) parseLongArg(s string, args []string, fn parseFunc) (a []string, err error) {
diff --git a/flag_test.go b/flag_test.go
index f600f0a..7d02dbc 100644
--- a/flag_test.go
+++ b/flag_test.go
@@ -431,6 +431,11 @@
 		"--unknown8=unknown8value",
 		"--boole",
 		"--unknown6",
+		"",
+		"-uuuuu",
+		"",
+		"--unknown10",
+		"--unknown11",
 	}
 	want := []string{
 		"boola", "true",