g_strconcat expects 0 as last argument, but mhl_strmove is not.
When reverting this detail was overlooked. Returning 0 as last argument.
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
This pach fixes two issues (both appear only in escapy strings):
* tail cut of escapy string when '\\' is met
* head cut of escapy string when '\\' is met :]
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
This patch reintroduces fix firstly appeared in (and recently broken by mhl revert)
> commit e48cb7c89f
> Author: Sergei Trofimovich <st@anti-virus.by>
> Date: Fri Jan 30 09:31:28 2009 +0200
>
> mhl: added mhl_strmove() function (memmove semantics)
...
> Snippet of man strcpy:
> DESCRIPTION
> The strcpy() function copies the string pointed to by src, including the terminating
> null byte ('\0'), to the buffer pointed to by dest. ___The strings may not overlap___,
> and the destination string dest must be large enough to receive the copy.
> We used strcpy to move data chunk in memory: "./foo" -> "foo", etc.
>
> This patch introduces mhl_strmove and fixed canonicalize_pathname.
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
When we try to complete something what can't be stat()'ed,
we treated it like dir. Now we do not consider such candidates
for completion.
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
This commit will replace some *ptr = c; stuff with g_string_append_c(str,c);
in order to use glib here.
Signed-off-by: Patrick Winnertz <winnie@debian.org>
As we decided to fully switch back to glb we needed to rewrite this function in order to use
glib functions. This means in this case mostly that *ptr = c; ptr++; is replaced by something
like this: g_string_append(str,c); with str a GString*.
Signed-off-by: Patrick Winnertz <winnie@debian.org>
This commit moves the mhl_str_concat_dir_and_file back into src/util.c whitout changing atm the functionality.
Please note that this is an incomplete fix and needs to be partially enhanced in order to keep the full functionality with glib.
Signed-off-by: Patrick Winnertz <winnie@debian.org>
This removes the usage of stdbool.h in favour of mhl/tyes.h as we have to revert everything one by one
Signed-off-by: Patrick Winnertz <winnie@debian.org>
* 199_slang_1x:
dropped use of slang-internal stuff and dropped checks for slang-1.x
Conflicts:
ChangeLog
Signed-off-by: Patrick Winnertz <winnie@debian.org>
Enrico has accidentially removed the slang1.x support in mc-4.6 branch as
this is a structural change which clearly doesn't belong into mc-4.6.
Signed-off-by: Patrick Winnertz <winnie@debian.org>
* mc-4.6:
Resolve some issues in mhl Rollang Illig pointed us to:
Added enhancements from Sergei which he attached to #241.
Call va_end after the iteration as we need to free the list again.
Fixing a theoretical buffer overflow which was reported by Roland Illig
Signed-off-by: Patrick Winnertz <winnie@debian.org>
* 241_buffer_overflow:
Resolve some issues in mhl Rollang Illig pointed us to:
Added enhancements from Sergei which he attached to #241.
Call va_end after the iteration as we need to free the list again.
Fixing a theoretical buffer overflow which was reported by Roland Illig
Conflicts:
mhl/types.h
Signed-off-by: Patrick Winnertz <winnie@debian.org>
- isspace & toupper needs an unsigned char as arg
- collision with compiler namespace __X
- resolved some typos
Signed-off-by: Patrick Winnertz <winnie@debian.org>
if the concat function was called with more than 32 parameters there will be
a buffer overflow. This will add a small check to ensure that we concat only 32 parameters.
Signed-off-by: Patrick Winnertz <winnie@debian.org>