[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ext3 и w2k



Peter Teslenko -> debian-russian@lists.debian.org  @ Fri, 08 Dec 2006 11:08:12 +0300:

 >> Вроде нормально. У знакомого он один раз при копировании очень большого
 >> объема споткнулся, но ничего не попортил. Больше проблем не
 >> было. Графический фронтенд там еще только разрабатывается. Из консоли все
 >> нормально работает.

 PT> Мне вот непонравился этот кусок.
 PT> файл create.c
 PT> функция

 PT> NTSTATUS
 PT> Ext2CreateInode(
 PT>     PEXT2_IRP_CONTEXT   IrpContext,
 PT>     PEXT2_VCB           Vcb,
 PT>     PEXT2_FCB           ParentFcb,
 PT>     ULONG               Type,
 PT>     ULONG               FileAttr,
 PT>     PUNICODE_STRING     FileName)


 PT>     Ext2Ino.i_mode =  ( S_IPERMISSION_MASK &
 PT>                         ParentFcb->Inode->i_mode );

 PT> Все файлы получаются минимум с 755. Уж можно было ставить разные пермишены на файлы и каталоги.

 PT> Плюс вот такие шедевры удивляют

 PT>     if (!NT_SUCCESS(Status)) {
 PT>         goto errorout;
 PT>     }

 PT> [...]

 PT> errorout:

 PT>     return Status;

 PT> Что мешало сразу return Status поставить?

Необходимость потом переписывать нафиг весь код, если добавится
какой-нибудь объект, который при любом выходе из функции надо чистить.
Поскольку при переписывании что-нибудь да забудешь, лучше писать
подобный код сразу.

ЗЫ. Да, знаю.  Не пишите, дети, на C.  Не 1970 год, чай, на дворе...
Нет, и на C++ тоже не надо, хотя у него с этим и попроще...

-- 
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru

Психология - это наука о плохих контактах (С)энта



Reply to: