From 04646db1bf7dee24d6063d61fc320e896ba36941 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Sun, 21 Oct 2018 20:45:23 +0300 Subject: Make for_each_line_in_file work with non \n stuff --- contrib/brute-map.bash | 2 +- src/util.h | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/contrib/brute-map.bash b/contrib/brute-map.bash index a05e915..3ec1e52 100755 --- a/contrib/brute-map.bash +++ b/contrib/brute-map.bash @@ -5,7 +5,7 @@ while read -r region; do offset=$(printf '%d' "0x$(awk '{print $3}' <<<"$region")") if ((offset == 0)); then - offset=$(binsearch <(ptrace-region-rw "$1" read <(printf '%s\n' "$region") | bintrim) first $3 < "$2" 2>/dev/null) + offset=$(binsearch <(ptrace-region-rw "$1" read <(printf '%s' "$region") | bintrim) first $3 < "$2" 2>/dev/null) if [[ -n "$offset" ]]; then hex=$(printf '%.8x' "$offset") awk '{printf "%s %s %s %s %s %s\n", $1, $2, "'"$hex"'", $4, $5, $6, $7}' <<<"$region" diff --git a/src/util.h b/src/util.h index 8dc2fb9..79a7e7e 100644 --- a/src/util.h +++ b/src/util.h @@ -49,5 +49,9 @@ for_each_line_in_file(FILE *f, void (*cb)(const char *line, void *data), void *d memmove(buffer, buffer + ate, (written = written - ate)); } while ((read = fread(buffer + written, 1, allocated - written, f))); + + if (written > 0) + cb(buffer, data); + free(buffer); } -- cgit v1.2.3