From 0124576cdadf87396cccde7f54c41342e87e80d7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fran=C3=A7ois=20Gouget?= Date: Wed, 14 Feb 2001 21:43:20 +0000 Subject: [PATCH] Be smarter about the ellipsis in SPY_GetWndName. --- windows/spy.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/windows/spy.c b/windows/spy.c index bdee905ef15..ba0233c4f80 100644 --- a/windows/spy.c +++ b/windows/spy.c @@ -1444,23 +1444,27 @@ const char *SPY_GetWndName( HWND hwnd ) WND* pWnd = WIN_FindWndPtr( hwnd ); if( pWnd ) { - INT n = sizeof(wnd_buffer) - 6; LPSTR p = wnd_buffer; char postfix; if( pWnd->text && pWnd->text[0] != '\0' ) { LPWSTR src = pWnd->text; + int n=sizeof(wnd_buffer)-2; *(p++) = postfix = '\"'; - while ((n-- > 1) && *src) *p++ = *src++; - if( *src ) for( n = 0; n < 3; n++ ) *(p++)='.'; + while ((n-- > 0) && *src) *p++ = *src++; } else /* get class name */ { - *(p++)='{'; - GlobalGetAtomNameA((ATOM) GetClassWord(pWnd->hwndSelf, GCW_ATOM), p, n + 1); - p += strlen(p); - postfix = '}'; + *(p++) = '{'; + p+=GlobalGetAtomNameA((ATOM) GetClassWord(pWnd->hwndSelf, GCW_ATOM), p, sizeof(wnd_buffer)-1); + postfix='}'; + } + if( p-wnd_buffer == sizeof(wnd_buffer)-1 ) { + p=wnd_buffer+sizeof(wnd_buffer)-5; + *(p++) = '.'; + *(p++) = '.'; + *(p++) = '.'; } *(p++) = postfix; *(p++) = '\0'; -- 2.11.4.GIT