From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 12 Nov 2003 12:45:49 +0300 From: Stanislav Ievlev To: ALT Devel discussion list Subject: Re: [devel] Re: middleman vs pcre Message-ID: <20031112094549.GB27099@basalt.office.altlinux.org> References: <200311111729.20782.wrar@altlinux.ru> <200311111922.39750.wrar@altlinux.ru> <20031111143808.GA15999@master.mivlgu.local> <200311112036.34511.wrar@altlinux.ru> <20031111154750.GD15999@master.mivlgu.local> <20031112083249.GE1132@basalt.office.altlinux.org> <20031112092420.GC1775@sirius.home> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20031112092420.GC1775@sirius.home> X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.1.3 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 09:45:50 -0000 Archived-At: List-Archive: List-Post: On Wed, Nov 12, 2003 at 12:24:20PM +0300, Sergey Vlasov wrote: > On Wed, Nov 12, 2003 at 11:32:49AM +0300, Stanislav Ievlev wrote: > > On Tue, Nov 11, 2003 at 06:47:50PM +0300, Sergey Vlasov wrote: > > > On Tue, Nov 11, 2003 at 08:36:26PM +0500, Andrey Rahmatullin wrote: > > > Content-Description: signed data > > > > В сообщении от 11 Ноябрь 2003 19:38 Sergey Vlasov написал(a): > > > > > > > > [...] > > > > > Попробуйте запустить программу под valgrind - он умеет отлавливать > > > > > подобные ошибки > > > > [...] > > > > > > > > Ой блин... > > > > > > > > ==16664== Invalid write of size 4 > > > > ==16664== at 0x403261F9: regcomp (in /lib/libc-2.2.6.so) > > > > ==16664== by 0x806F536: reg_compile (regexp.c:33) > > > > ==16664== by 0x804C4E4: global_general_insert (global.c:464) > > > > ==16664== by 0x804ACE6: global_load (global.c:102) > > > > ==16664== Address 0x412BE104 is 4 bytes after a block of size 12 alloc'd > > > > ==16664== at 0x40026942: malloc (vg_replace_malloc.c:153) > > > > ==16664== by 0x806610C: xmalloc (mem.c:35) > > > > ==16664== by 0x806F51F: reg_compile (regexp.c:31) > > > > ==16664== by 0x804C4E4: global_general_insert (global.c:464) > > > > > > > > И так кучу раз (похоже, что на каждый регэксп). > > > > > > Вот бардак... У этой дряни что, собственное левое определение regex_t > > > (такая гадость иногда встречается)? > > Если это намёк на pcre, то почему сразу дрянь. Имеет право. > > Всё что связано с regex это weekalias (как просвятил меня Дима). У > > pcre же есть очень удобный POSIX интерфейс с поддержкой расширений > > perl. А уж если POSIX интерфейс, то и есть regex_t. Было бы > > удивительно если бы она (pcre) использовала glibc'шный. > > Ну здесь-то явно используется regcomp из glibc. Т.е. где-то > перепутались заголовки и библиотеки. Наверное забыли -lpcreposix? > > Против самой pcre я не выступаю. А вот pcreposix - это гадость, т.к. > вполне может сломать работу POSIX regexp в других библиотеках (не > glibc). Не поломает, если будут использовать что-то одно ;) >Следовало бы делать эту эмуляцию не прямым переопределением > regcomp/regexec/..., а через #define regcomp __pcre_regcomp в > - тогда это бы влияло только на файлы, которые были > скомпилированы с #include . Самое смешное, что теперь так и есть ;) > _______________________________________________ > Devel mailing list > Devel@altlinux.ru > http://altlinux.ru/mailman/listinfo/devel