From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Bokovoy To: devel@linux.iplabs.ru Subject: Re: [devel] ncurses Message-ID: <20010418135726.H2486@boids.avilink.net> References: <20010418144442.B29161@hell.binec.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.2.5i In-Reply-To: <20010418144442.B29161@hell.binec.ru>; from raorn@binec.ru on Wed, Apr 18, 2001 at 02:44:42PM +0400 Sender: devel-admin@linux.iplabs.ru Errors-To: devel-admin@linux.iplabs.ru X-BeenThere: devel@linux.iplabs.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: devel@linux.iplabs.ru List-Help: List-Post: List-Subscribe: , List-Id: IPLabs Linux Team Developers mailing list List-Unsubscribe: , List-Archive: X-Original-Date: Wed, 18 Apr 2001 13:57:26 +0300 Date: Wed, 18 Apr 2001 13:57:26 +0300 Archived-At: List-Archive: List-Post: On Wed, Apr 18, 2001 at 02:44:42PM +0400, Sir Raorn wrote: > Проблема в следующем - не работает nodelay(stdscr, TRUE/1) (на самом деле > оно вообще не работает), хотя с wtimeout(stdscr, 0/-1) все OK... > > Об'ясните мне пожалуйста, что это значит: > > 00028a30 : > 28a30: 55 push %ebp > 28a31: 89 e5 mov %esp,%ebp > 28a33: 8b 55 08 mov 0x8(%ebp),%edx > 28a36: 85 d2 test %edx,%edx > 28a38: 74 16 je 28a50 > 28a3a: 31 c0 xor %eax,%eax > 28a3c: 83 7d 0c 01 cmpl $0x1,0xc(%ebp) > 28a40: 0f 94 c0 sete %al > 28a43: 48 dec %eax > 28a44: 89 42 3c mov %eax,0x3c(%edx) > > ^^^^^^^^^^ > 28a47: 31 c0 xor %eax,%eax > 28a49: eb 08 jmp 28a53 > 28a4b: 90 nop > 28a4c: 8d 74 26 00 lea 0x0(%esi,1),%esi > 28a50: 83 c8 ff or $0xffffffff,%eax > 28a53: 5d pop %ebp > 28a54: c3 ret > > и как оно соответствует следующему коду: > > int > nodelay(WINDOW *win, bool flag) > { > T((T_CALLED("nodelay(%p,%d)"), win, flag)); > > if (win) { > if (flag == TRUE) > win->_delay = 0; > else > win->_delay = -1; > returnCode(OK); > } else > returnCode(ERR); > } Нормально соответствует. Какое, по Вашему, смещение у _delay в WINDOW? > > и почему, когда я пересобирал курзи, у меня получилось: > > 0002877c : > 2877c: 55 push %ebp > 2877d: 89 e5 mov %esp,%ebp > 2877f: 8b 55 08 mov 0x8(%ebp),%edx > 28782: 8a 45 0c mov 0xc(%ebp),%al > 28785: 85 d2 test %edx,%edx > 28787: 74 18 je 287a1 > 28789: 3c 01 cmp $0x1,%al > 2878b: 75 09 jne 28796 > 2878d: c7 42 24 00 00 00 00 movl $0x0,0x24(%edx) > > ^^^^^^^^^^ > 28794: eb 07 jmp 2879d > 28796: c7 42 24 ff ff ff ff movl $0xffffffff,0x24(%edx) > > ^^^^^^^^^^ > 2879d: 31 c0 xor %eax,%eax > 2879f: eb 05 jmp 287a6 > 287a1: b8 ff ff ff ff mov $0xffffffff,%eax > 287a6: 89 ec mov %ebp,%esp > 287a8: 5d pop %ebp > 287a9: c3 ret > > Первый дамп это objdump --disassemble /lib/libncurses.so.5.2, второй > то же самое на свежесобранные курзи (rpm -bc, потом objdump)... Не вижу проблемы. Вы на какой архитектуре собирали? -- Sincerely yours, Alexander Bokovoy The Midgard Project | ALT Linux Team | Minsk Linux Users Group www.midgard-project.org | www.altlinux.ru | www.minsk-lug.net -- You won't skid if you stay in a rut. -- Frank Hubbard _______________________________________________ Devel mailing list Devel@linux.iplabs.ru http://www.logic.ru/mailman/listinfo/devel