Commit 0f749c63 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Remove buggy and unused vlc_wraptext()

It did not count non-ASCII characters at all (wrapping asian text must
have been fun...). Then again, to wrap even fixed-width font text, you
need to use wcwidth()/wcswidth().
parent 32dccae0
......@@ -786,10 +786,6 @@ static inline uint64_t ntoh64 (uint64_t ll)
VLC_EXPORT( bool, vlc_ureduce, ( unsigned *, unsigned *, uint64_t, uint64_t, uint64_t ) );
/* vlc_wraptext (defined in src/extras/libc.c) */
#define wraptext vlc_wraptext
VLC_EXPORT( char *, vlc_wraptext, ( const char *, int ) LIBVLC_USED );
/* iconv wrappers (defined in src/extras/libc.c) */
typedef void *vlc_iconv_t;
VLC_EXPORT( vlc_iconv_t, vlc_iconv_open, ( const char *, const char * ) LIBVLC_USED );
......
......@@ -203,81 +203,6 @@ char *vlc_gettext( const char *msgid )
#endif
}
/*****************************************************************************
* count_utf8_string: returns the number of characters in the string.
*****************************************************************************/
static int count_utf8_string( const char *psz_string )
{
int i = 0, i_count = 0;
while( psz_string[ i ] != 0 )
{
if( ((unsigned char *)psz_string)[ i ] < 0x80UL ) i_count++;
i++;
}
return i_count;
}
/*****************************************************************************
* wraptext: inserts \n at convenient places to wrap the text.
* Returns the modified string in a new buffer.
*****************************************************************************/
char *vlc_wraptext( const char *psz_text, int i_line )
{
int i_len;
char *psz_line, *psz_new_text;
psz_line = psz_new_text = strdup( psz_text );
i_len = count_utf8_string( psz_text );
while( i_len > i_line )
{
/* Look if there is a newline somewhere. */
char *psz_parser = psz_line;
int i_count = 0;
while( i_count <= i_line && *psz_parser != '\n' )
{
while( *((unsigned char *)psz_parser) >= 0x80UL ) psz_parser++;
psz_parser++;
i_count++;
}
if( *psz_parser == '\n' )
{
i_len -= (i_count + 1);
psz_line = psz_parser + 1;
continue;
}
/* Find the furthest space. */
while( psz_parser > psz_line && *psz_parser != ' ' )
{
while( *((unsigned char *)psz_parser) >= 0x80UL ) psz_parser--;
psz_parser--;
i_count--;
}
if( *psz_parser == ' ' )
{
*psz_parser = '\n';
i_len -= (i_count + 1);
psz_line = psz_parser + 1;
continue;
}
/* Wrapping has failed. Find the first space or newline */
while( i_count < i_len && *psz_parser != ' ' && *psz_parser != '\n' )
{
while( *((unsigned char *)psz_parser) >= 0x80UL ) psz_parser++;
psz_parser++;
i_count++;
}
if( i_count < i_len ) *psz_parser = '\n';
i_len -= (i_count + 1);
psz_line = psz_parser + 1;
}
return psz_new_text;
}
/*****************************************************************************
* iconv wrapper
*****************************************************************************/
......
......@@ -494,7 +494,6 @@ vlc_threadvar_delete
vlc_ureduce
VLC_Version
vlc_wclosedir
vlc_wraptext
vlm_Control
vlm_Delete
vlm_ExecuteCommand
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment