mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
large init script cleanup and merge of whiterussian changes, new dnsmasq config handling
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@3588 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
40
package/base-files/default/usr/lib/parse-config.awk
Normal file
40
package/base-files/default/usr/lib/parse-config.awk
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
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 !~ /^@/) && (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
|
||||
}
|
||||
Reference in New Issue
Block a user