From cac47d45ae991f92d9d294df317d5b90aae4ee26 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Elan=20Ruusam=C3=A4e?= Date: Fri, 27 Mar 2009 11:46:01 +0000 Subject: [PATCH] - catch errors when infile can't be opened Changed files: kernel-track-config-change.awk -> 1.5 --- kernel-track-config-change.awk | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/kernel-track-config-change.awk b/kernel-track-config-change.awk index dbe6ec80..6b3fe500 100644 --- a/kernel-track-config-change.awk +++ b/kernel-track-config-change.awk @@ -1,30 +1,34 @@ # $Id$ BEGIN { - if ( ! infile ) { + if (!infile) { print "infile= must be specified" > "/dev/stderr" exit 1 } file = "" - while ( getline < infile ) { + while ((rc = getline < infile) > 0) { name = "" - if ( match( $0, /^# CONFIG_[A-Za-z0-9_]+ is not set$/ ) ) { + if ( match($0, /^# CONFIG_[A-Za-z0-9_]+ is not set$/)) { name = $2 value = "n" - } else if ( match( $0, /^CONFIG_[A-Za-z0-9_]+=/ ) ) { + } else if (match($0, /^CONFIG_[A-Za-z0-9_]+=/)) { name = value = $1 - sub( /=.*$/, "", name ) - sub( /^[^=]*=/, "", value ) - } else if ( match( $0, /^# file:/ ) ) { + sub(/=.*$/, "", name) + sub(/^[^=]*=/, "", value) + } else if (match($0, /^# file:/)) { file = $3 } - if ( length( name ) ) { - optionArray[ name ] = value - optionFile[ name ] = file + if (length(name)) { + optionArray[name] = value + optionFile[name] = file } } + if (rc == -1) { + printf("Error reading infile='%s'\n", infile) > "/dev/stderr" + exit 1 + } foundErrors = 0 } -- 2.44.0