From: Felix Fietkau Date: Fri, 20 Oct 2006 00:13:34 +0000 (+0000) Subject: move /usr/lib/parse-config.awk to /lib/config/template.awk X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=17f313b06ac4ae24b25b46ab246b8427149ba428;p=openwrt%2Fstaging%2Frmilecki.git move /usr/lib/parse-config.awk to /lib/config/template.awk SVN-Revision: 5244 --- diff --git a/package/base-files/default/lib/config/template.awk b/package/base-files/default/lib/config/template.awk new file mode 100644 index 00000000000..9ce32b74ffb --- /dev/null +++ b/package/base-files/default/lib/config/template.awk @@ -0,0 +1,42 @@ +# Copyright (C) 2006 OpenWrt.org + +{ + line=$0 + gsub(/^[ \t]*/, "") + gsub(/[ \t]*$/, "") +} + +$1 == "@define" { + v[$2] = $3 +} + +$1 == "@ifdef" { + if_open = 1 + if (v[$2] != "") noprint = 0 + else noprint = 1 +} + +$1 == "@ifndef" { + if_open = 1 + if (v[$2] != "") noprint = 1 + else noprint = 0 +} + +$1 == "@else" { + if (noprint == 1) noprint = 0 + else noprint = 1 +} + +($1 !~ /^@[a-zA-Z]/) && (noprint != 1) { + n=split(line "@@", a, /@@/) + for (i=1; i<=n; i++) { + if ((i % 2) == 1) printf a[i] + else printf v[a[i]] + } + print "" +} + +$1 == "@endif" { + if_open = 0 + noprint = 0 +} diff --git a/package/base-files/default/usr/lib/parse-config.awk b/package/base-files/default/usr/lib/parse-config.awk deleted file mode 100644 index 9ce32b74ffb..00000000000 --- a/package/base-files/default/usr/lib/parse-config.awk +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright (C) 2006 OpenWrt.org - -{ - line=$0 - gsub(/^[ \t]*/, "") - gsub(/[ \t]*$/, "") -} - -$1 == "@define" { - v[$2] = $3 -} - -$1 == "@ifdef" { - if_open = 1 - if (v[$2] != "") noprint = 0 - else noprint = 1 -} - -$1 == "@ifndef" { - if_open = 1 - if (v[$2] != "") noprint = 1 - else noprint = 0 -} - -$1 == "@else" { - if (noprint == 1) noprint = 0 - else noprint = 1 -} - -($1 !~ /^@[a-zA-Z]/) && (noprint != 1) { - n=split(line "@@", a, /@@/) - for (i=1; i<=n; i++) { - if ((i % 2) == 1) printf a[i] - else printf v[a[i]] - } - print "" -} - -$1 == "@endif" { - if_open = 0 - noprint = 0 -} diff --git a/package/dnsmasq/files/dnsmasq.init b/package/dnsmasq/files/dnsmasq.init index 8ac0ab638d3..6fe074ea297 100644 --- a/package/dnsmasq/files/dnsmasq.init +++ b/package/dnsmasq/files/dnsmasq.init @@ -49,7 +49,7 @@ start() { [ -z "$wan_proto" -o "$wan_proto" = "none" ] || echo "@define wan_ifname $wan_ifname" cat /etc/dnsmasq.conf - ) | awk -f /usr/lib/parse-config.awk | dnsmasq -C /proc/self/fd/0 + ) | awk -f /lib/config/template.awk | dnsmasq -C /proc/self/fd/0 } stop() {