diff --git a/splitNewLines.go b/splitNewLines.go new file mode 100644 index 0000000..7ee7442 --- /dev/null +++ b/splitNewLines.go @@ -0,0 +1,17 @@ +package shell + +import "regexp" + +// splits strings. should work all the time +// A string with mixed line endings, including old Mac style (\r) +func SplitNewLines(input string) []string { + // This regex matches a carriage return and optional newline, OR just a newline. + // This covers \r\n, \n, and \r. + re := regexp.MustCompile(`\r\n?|\n|\r`) + + // The -1 means there is no limit to the number of splits. + lines := re.Split(input, -1) + + // Output: ["line one" "line two" "line three" "line four"] + return lines +} diff --git a/wget.go b/wget.go index 3ba0cef..b8eaedb 100644 --- a/wget.go +++ b/wget.go @@ -34,7 +34,7 @@ func Wget(url string) *bytes.Buffer { log.Log(INFO, "res.StatusCode: %d\n", resp.StatusCode) if resp.StatusCode != 200 { - handleError(fmt.Errorf(fmt.Sprintf("%d", resp.StatusCode)), -1) + handleError(fmt.Errorf("%d", resp.StatusCode), -1) return nil }