Re: Yet another design for /proc. Or actually /kernel.

Stuart Young (sgy@amc.com.au)
Thu, 08 Nov 2001 14:07:10 +1100


At 01:20 AM 8/11/01 +0100, antirez wrote:
>put every string inside () and only quotes ( and ) with \
>and quotes \ itself with \\, than use brackets to delimit
>string _and_ provide information about the format:
>
>((dev/hda1)(/home/mbrennek/stuff and)(vfat)(rw)(0)(0))
>((/dev/hda2)(/var/tmp)(ext2)(rw)(0)(0))

Now that is just really annoying, and hardly useful.

Why not just allow the user to specify what the field separation character
is. If the entry/file is opened for writing, then the data passed to it is
used as the separator. If it's opened in read, just output as normal.

So if say /proc/kernel/foo normally exports...

bar-a1 bar-a2 bar-a3
bar-b1 bar-b2 bar-b3
[===> ] 40%

...and you pass a colon ":", it spits out...

bar-a1:bar-a2:bar-a3
bar-b1:bar-b2:bar-b3
40

This allows the user to make the choice. If they use the wrong character,
they can always change it. If they don't specify one, they get the default
output (which is what existing scripts will expect). From a code
perspective, you should only need to make all your separators (formatting)
as variables in the code, and substitute the separator character(s) if
there is one that's been passed, and just drop the remaining 'pretty'
garbage totally.

Also means you can easily use command line tools like cut (-d option),
readline (the read function in bash, and the $IFS variable), and so on, to
parse the data, quickly and effectively.

AMC Enterprises P/L - Stuart Young
First Floor - Network and Systems Admin
3 Chesterville Rd - sgy@amc.com.au
Cheltenham Vic 3192 - Ph: (03) 9584-2700
http://www.amc.com.au/ - Fax: (03) 9584-2755

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/