summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--splitNewLines.go17
-rw-r--r--wget.go2
2 files changed, 18 insertions, 1 deletions
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
}