commit 7da9bc2cb5fa71965a3a3af65074a4f7e3d15654 Author: Stephen McQuay (smcquay) Date: Mon Aug 22 18:24:21 2016 -0700 init diff --git a/license.txt b/license.txt new file mode 100644 index 0000000..639a2f8 --- /dev/null +++ b/license.txt @@ -0,0 +1,27 @@ +Copyright (c) 2016, stephen mcquay + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of allowances nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/main.go b/main.go new file mode 100644 index 0000000..749c41d --- /dev/null +++ b/main.go @@ -0,0 +1,31 @@ +package main + +import ( + "fmt" + "io" + "os" + + "github.com/dustin/go-humanize" +) + +const usage = "lim " + +func main() { + size := int64(1 * 1024 * 1024) + switch len(os.Args) { + case 1: + case 2: + dest, err := humanize.ParseBytes(os.Args[1]) + if err != nil { + fmt.Fprintf(os.Stderr, "unable to parse quantity: %v\n%v\n", err, usage) + os.Exit(1) + } + size = int64(dest) + default: + fmt.Fprintf(os.Stderr, "%v\n", usage) + os.Exit(1) + } + + lr := io.LimitReader(os.Stdin, size) + io.Copy(os.Stdout, lr) +}