|
From: | YX Hao |
Subject: | Re: [Bug-wget] patch: Improve the rolling file name length for downloading progress image when without NLS |
Date: | Fri, 17 Feb 2017 00:11:54 +0800 |
Dear Tim, I think you may misunderstand my situation or just starting to reproduce the issue. My configuration result is NO NLS support, that means 'USE_NLS_PROGRESS_BAR' is undefined. I guess screenshot is necessary at this time. And it will always fall to the 'else' case of 'progress-cols_to_bytes-err.png'. And this 'cols_to_bytes' function is the problem. It is called by 'create_image' function as 'progress-create_image-caller.png'. Got a more than actual bytes to copy, the wrong 'bytes_in_filename', when the leftover is less than 'MAX_FILENAME_COLS - padding'. This will contains the file names tailing '\0' and some random value bytes. Plus, wrong 'bytes_in_filename' won't get the '\0' to be filled by blank char '\20'. '\0' will short the future 'print'. >I would like to get rid of USE_NLS_PROGRESS_BAR. >It is a shortcut for > HAVE_WCWIDTH && HAVE_MBTOWC > >gnulib provides us with these functions on systems, where they don't exist in >the standard C library. > >For a quick check, could you unconditionally set USE_NLS_PROGRESS_BARin wget.h >(lines 78 and 80-83 should be commented), recompile wget and report if it >works for you ? > I have done it. Got 'NO_ USE_NLS_PROGRESS_BAR.png'. Just to make sure that we are on the same page. This will unconditionally bring you to the point, where this issue happens. Rebuilt and tested. The problem remains ;) >Regards, Tim Regards, YX Hao
NO_USE_NLS_PROGRESS_BAR.PNG
Description: PNG image
progress-cols_to_bytes-err.png
Description: PNG image
progress-create_image-caller.png
Description: PNG image
progress-cols_to_bytes-patched.png
Description: PNG image
[Prev in Thread] | Current Thread | [Next in Thread] |