Merge commit 'origin/mc-4.6'

This commit is contained in:
Enrico Weigelt, metux IT service 2009-01-27 22:53:12 +01:00
commit e34e748666
3 changed files with 21 additions and 22 deletions

View File

@ -1,3 +1,7 @@
2009-01-27 Enrico Weigelt, metux IT service <weigelt@metux.de>
* mhl/escape.h, mhl/string.h: fixed comments to use /* ... */
2009-01-25 Ilia Maslakov <il.smind@gmail.com>
* src/boxes.c, src/boxes.h, src/dir.c, src/dir.h:

View File

@ -54,12 +54,12 @@ static inline char* mhl_shell_unescape_buf(char* text)
if (!text)
return NULL;
// look for the first \ - that's quick skipover if there's nothing to escape
/* look for the first \ - that's quick skipover if there's nothing to escape */
char* readptr = text;
while ((*readptr) && ((*readptr)!='\\')) readptr++;
if (!(*readptr)) return text;
// if we're here, we're standing on the first '\'
/* if we're here, we're standing on the first '\' */
char* writeptr = readptr;
char c;
while ((c = *readptr))
@ -97,7 +97,7 @@ static inline char* mhl_shell_unescape_buf(char* text)
(*writeptr) = c; writeptr++; break;
}
}
else // got a normal character
else /* got a normal character */
{
(*writeptr) = *readptr;
writeptr++;

View File

@ -3,7 +3,7 @@
#include <ctype.h>
#include <stdarg.h>
#include <../mhl/memory.h>
#include <mhl/memory.h>
#define mhl_str_dup(str) ((str ? strdup(str) : strdup("")))
#define mhl_str_ndup(str,len) ((str ? strndup(str,len) : strdup("")))
@ -16,30 +16,29 @@ static inline char * mhl_str_dup_range(const char * s_start, const char * s_boun
static inline char* mhl_str_trim(char* str)
{
if (!str) return NULL; // NULL string ?! bail out.
if (!str) return NULL; /* NULL string ?! bail out. */
// find the first non-space
/* find the first non-space */
char* start; for (start=str; ((*str) && (!isspace(*str))); str++);
// only spaces ?
/* only spaces ? */
if (!(*str)) { *str = 0; return str; }
// get the size (cannot be empty - catched above)
/* get the size (cannot be empty - catched above) */
size_t _sz = strlen(str);
// find the proper end
/* find the proper end */
char* end;
for (end=(str+_sz-1); ((end>str) && (isspace(*end))); end--);
end[1] = 0; // terminate, just to be sure
end[1] = 0; /* terminate, just to be sure */
// if we have no leading spaces, just trucate
/* if we have no leading spaces, just trucate */
if (start==str) { end++; *end = 0; return str; }
// if it' only one char, dont need memmove for that
/* if it' only one char, dont need memmove for that */
if (start==end) { str[0]=*start; str[1]=0; return str; }
// by here we have a (non-empty) region between start end end
/* by here we have a (non-empty) region between start end end */
memmove(str,start,(end-start+1));
return str;
}
@ -60,9 +59,6 @@ static inline char* __mhl_str_concat_hlp(const char* base, ...)
int count = 0;
size_t totalsize = 0;
// first pass: scan through the params and count string sizes
//va_list par;
if (base)
{
arg_ptr[0] = base;
@ -73,10 +69,9 @@ static inline char* __mhl_str_concat_hlp(const char* base, ...)
va_list args;
va_start(args,base);
char* a;
// note: we use ((char*)(1)) as terminator - NULL is a valid argument !
/* note: we use ((char*)(1)) as terminator - NULL is a valid argument ! */
while ((a = va_arg(args, char*))!=(char*)1)
{
// printf("a=%u\n", a);
if (a)
{
arg_ptr[count] = a;
@ -89,7 +84,7 @@ static inline char* __mhl_str_concat_hlp(const char* base, ...)
if (!count)
return mhl_str_dup("");
// now as we know how much to copy, allocate the buffer
/* now as we know how much to copy, allocate the buffer */
char* buffer = (char*)mhl_mem_alloc_u(totalsize+2);
char* current = buffer;
int x=0;
@ -107,8 +102,8 @@ static inline char* __mhl_str_concat_hlp(const char* base, ...)
static inline char* mhl_str_reverse(char* ptr)
{
if (!ptr) return NULL; // missing string
if (!(ptr[0] && ptr[1])) return ptr; // empty or 1-ch string
if (!ptr) return NULL; /* missing string */
if (!(ptr[0] && ptr[1])) return ptr; /* empty or 1-ch string */
size_t _sz = strlen(ptr);
char* start = ptr;