forked from enlightenment/efl
edje entry - be clearer and more efficient on string appending
using strncpy with strlen of the string you append is pointless. again... strcpy will do - but use memcpy to be exact and pre-compute sizing etc. only once. fixes warnings.
This commit is contained in:
parent
db3fe9b03f
commit
5641910ed2
|
@ -361,6 +361,7 @@ _text_filter_format_prepend(Edje *ed, Entry *en, Evas_Textblock_Cursor *c, const
|
||||||
if (text2)
|
if (text2)
|
||||||
{
|
{
|
||||||
char *s, *markup_text;
|
char *s, *markup_text;
|
||||||
|
size_t size;
|
||||||
|
|
||||||
s = text2;
|
s = text2;
|
||||||
if (*s == '+')
|
if (*s == '+')
|
||||||
|
@ -373,13 +374,14 @@ _text_filter_format_prepend(Edje *ed, Entry *en, Evas_Textblock_Cursor *c, const
|
||||||
free(text2);
|
free(text2);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
markup_text = (char *)malloc(strlen(s) + 3);
|
size = strlen(s);
|
||||||
|
markup_text = (char *)malloc(size + 3);
|
||||||
if (markup_text)
|
if (markup_text)
|
||||||
{
|
{
|
||||||
*(markup_text) = '<';
|
*(markup_text) = '<';
|
||||||
strncpy((markup_text + 1), s, strlen(s));
|
memcpy((markup_text + 1), s, size);
|
||||||
*(markup_text + strlen(s) + 1) = '>';
|
*(markup_text + size + 1) = '>';
|
||||||
*(markup_text + strlen(s) + 2) = '\0';
|
*(markup_text + size + 2) = '\0';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (s[0] == '-')
|
else if (s[0] == '-')
|
||||||
|
@ -392,26 +394,28 @@ _text_filter_format_prepend(Edje *ed, Entry *en, Evas_Textblock_Cursor *c, const
|
||||||
free(text2);
|
free(text2);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
markup_text = (char *)malloc(strlen(s) + 4);
|
size = strlen(s);
|
||||||
|
markup_text = (char *)malloc(size + 4);
|
||||||
if (markup_text)
|
if (markup_text)
|
||||||
{
|
{
|
||||||
*(markup_text) = '<';
|
*(markup_text) = '<';
|
||||||
*(markup_text + 1) = '/';
|
*(markup_text + 1) = '/';
|
||||||
strncpy((markup_text + 2), s, strlen(s));
|
memcpy((markup_text + 2), s, size);
|
||||||
*(markup_text + strlen(s) + 2) = '>';
|
*(markup_text + size + 2) = '>';
|
||||||
*(markup_text + strlen(s) + 3) = '\0';
|
*(markup_text + size + 3) = '\0';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
markup_text = (char *)malloc(strlen(s) + 4);
|
size = strlen(s);
|
||||||
|
markup_text = (char *)malloc(size + 4);
|
||||||
if (markup_text)
|
if (markup_text)
|
||||||
{
|
{
|
||||||
*(markup_text) = '<';
|
*(markup_text) = '<';
|
||||||
strncpy((markup_text + 1), s, strlen(s));
|
memcpy((markup_text + 1), s, size);
|
||||||
*(markup_text + strlen(s) + 1) = '/';
|
*(markup_text + size + 1) = '/';
|
||||||
*(markup_text + strlen(s) + 2) = '>';
|
*(markup_text + size + 2) = '>';
|
||||||
*(markup_text + strlen(s) + 3) = '\0';
|
*(markup_text + size + 3) = '\0';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
free(text2);
|
free(text2);
|
||||||
|
|
Loading…
Reference in New Issue