1*57718be8SEnji Cooper /* $NetBSD: hash_driver.c,v 1.3 2014/02/06 14:57:16 joerg Exp $ */ 2*57718be8SEnji Cooper /*- 3*57718be8SEnji Cooper * Copyright (c) 2012 The NetBSD Foundation, Inc. 4*57718be8SEnji Cooper * All rights reserved. 5*57718be8SEnji Cooper * 6*57718be8SEnji Cooper * This code is derived from software contributed to The NetBSD Foundation 7*57718be8SEnji Cooper * by Joerg Sonnenberger. 8*57718be8SEnji Cooper * 9*57718be8SEnji Cooper * Redistribution and use in source and binary forms, with or without 10*57718be8SEnji Cooper * modification, are permitted provided that the following conditions 11*57718be8SEnji Cooper * are met: 12*57718be8SEnji Cooper * 13*57718be8SEnji Cooper * 1. Redistributions of source code must retain the above copyright 14*57718be8SEnji Cooper * notice, this list of conditions and the following disclaimer. 15*57718be8SEnji Cooper * 2. Redistributions in binary form must reproduce the above copyright 16*57718be8SEnji Cooper * notice, this list of conditions and the following disclaimer in 17*57718be8SEnji Cooper * the documentation and/or other materials provided with the 18*57718be8SEnji Cooper * distribution. 19*57718be8SEnji Cooper * 20*57718be8SEnji Cooper * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21*57718be8SEnji Cooper * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22*57718be8SEnji Cooper * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 23*57718be8SEnji Cooper * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 24*57718be8SEnji Cooper * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 25*57718be8SEnji Cooper * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, 26*57718be8SEnji Cooper * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 27*57718be8SEnji Cooper * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 28*57718be8SEnji Cooper * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29*57718be8SEnji Cooper * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 30*57718be8SEnji Cooper * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31*57718be8SEnji Cooper * SUCH DAMAGE. 32*57718be8SEnji Cooper */ 33*57718be8SEnji Cooper 34*57718be8SEnji Cooper #include <stdio.h> 35*57718be8SEnji Cooper #include <inttypes.h> 36*57718be8SEnji Cooper 37*57718be8SEnji Cooper #include "hash.c" 38*57718be8SEnji Cooper 39*57718be8SEnji Cooper int 40*57718be8SEnji Cooper main(void) 41*57718be8SEnji Cooper { 42*57718be8SEnji Cooper char *line = NULL; 43*57718be8SEnji Cooper size_t buflen; 44*57718be8SEnji Cooper ssize_t len; 45*57718be8SEnji Cooper 46*57718be8SEnji Cooper while ((len = getline(&line, &buflen, stdin)) > 0) { 47*57718be8SEnji Cooper if (len && line[len - 1] == '\n') 48*57718be8SEnji Cooper --len; 49*57718be8SEnji Cooper printf("%" PRId32 "\n", hash(line, len)); 50*57718be8SEnji Cooper } 51*57718be8SEnji Cooper free(line); 52*57718be8SEnji Cooper return 0; 53*57718be8SEnji Cooper } 54