[d-kernel] Re: Fwd: [Bug 3318] New: При установке любого ядра не прописывается соотвествующая секция в меню grub
Anton Farygin
rider at altlinux.com
Wed Nov 26 14:50:35 MSK 2003
Alexey Tourbin wrote:
> On Tue, Nov 25, 2003 at 05:36:09PM +0300, Alexey Tourbin wrote:
>
>>--- /usr/share/loader/grub- 2003-03-19 17:41:06 +0300
>>+++ /usr/share/loader/grub 2003-11-25 17:34:24 +0300
>>@@ -154,6 +154,7 @@ sub get_boot_partitions {
>> local *F;
>> open F, '/etc/fstab';
>> while (<F>) {
>>+ next if /^#/;
>> my @s = split ' ';
>> $part = $s[0] if $s[1] =~ m|/$| and not $part;
>> if ($s[1] =~ m|/boot$|) {
>>
>>Вообще, там есть что по части перла зафиксить.
>>Или на shell'е переписать.
>
>
> В mdk юмористы (сравниваю с новой версией):
>
> @@ -154,7 +187,7 @@ sub get_boot_partitions {
> local *F;
> open F, '/etc/fstab';
> while (<F>) {
> - next if /^#/;
> + s/#.*//;
> my @s = split ' ';
> $part = $s[0] if $s[1] =~ m|/$| and not $part;
> if ($s[1] =~ m|/boot$|) {
>
> hackish
Мда... мне кажется, что я даже знаю - зачем это они сделали ... ;-)
Иначе им будет тяжело выводить об ошибке парсинга в какой-то
определенной строке fstab.
Т.е. - я бы это реализовал например так (C++)
ifstream fd("/etc/fstab");
char line[512];
unsigned int linenumber = 0;
while(fd.getline(line, sizeof(line), '\n'))
{
++linenumber;
if(line[0] == "#")
continue;
parse(line,linenumber);
}
More information about the devel-kernel
mailing list