eina: add eina_tmpstr_manage_new, eina_tmpstr_manage_new_length APIs

Summary:
Add eina_tmpstr_manage_new, eina_tmpstr_manage_new_length APIs, these APIs create new tmpstr but reuse the input string memory.

@feature

Test Plan: Test case and example updated

Reviewers: tasn, cedric

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D3178

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This commit is contained in:
Shilpa Singh 2015-11-03 14:01:51 -08:00 committed by Cedric BAIL
parent df41dad6ea
commit 50140c4a0c
1 changed files with 13 additions and 1 deletions

View File

@ -8,6 +8,9 @@ int
main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
{
const char *str;
char *str2;
const char *str3;
int len;
const char *prologe = "The Cylons were created by man. They rebelled. They "
"evolved.";
@ -15,9 +18,18 @@ main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
str = eina_tmpstr_add_length(prologe, 31);
printf("%s\n", str);
printf("length: %d\n", eina_tmpstr_len(str));
len = eina_tmpstr_len(str);
printf("length: %d\n", len);
eina_tmpstr_del(str);
str2 = (char *)calloc(61, sizeof(char));
strcpy(str2, prologe);
str3 = eina_tmpstr_manage_new(str2);
printf("%s\n", str3);
len = eina_tmpstr_len(str3);
printf("length: %d\n", len);
eina_tmpstr_del(str3);
eina_shutdown();
return 0;