forked from enlightenment/efl
Revert "eina_tmpstr: add eina_tmpstr_strftime"
As agreed on the ML, eina_tmpstr_strftime() should be removed.
This reverts commit abaf29cb76
.
This commit is contained in:
parent
b38f8a3f39
commit
b33923ceed
1
AUTHORS
1
AUTHORS
|
@ -53,7 +53,6 @@ ChunEon Park (Hermet) <hermet@hermet.pe.kr>
|
||||||
Rajeev Ranjan (Rajeev) <rajeev.r@samsung.com> <rajeev.jnnce@gmail.com>
|
Rajeev Ranjan (Rajeev) <rajeev.r@samsung.com> <rajeev.jnnce@gmail.com>
|
||||||
Subodh Kumar <s7158.kumar@samsung.com>
|
Subodh Kumar <s7158.kumar@samsung.com>
|
||||||
Michelle Legrand <legrand.michelle@outlook.com>
|
Michelle Legrand <legrand.michelle@outlook.com>
|
||||||
Shilpa Singh <shilpa.singh@samsung.com> <shilpasingh.o@gmail.com>
|
|
||||||
|
|
||||||
Eet
|
Eet
|
||||||
---
|
---
|
||||||
|
|
|
@ -133,48 +133,13 @@ eina_tmpstr_len(Eina_Tmpstr *tmpstr)
|
||||||
for (s = strs; s; s = s->next)
|
for (s = strs; s; s = s->next)
|
||||||
{
|
{
|
||||||
if (s->str == tmpstr)
|
if (s->str == tmpstr)
|
||||||
{
|
{
|
||||||
size_t ret = s->length;
|
size_t ret = s->length;
|
||||||
eina_lock_release(&_mutex);
|
eina_lock_release(&_mutex);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
eina_lock_release(&_mutex);
|
eina_lock_release(&_mutex);
|
||||||
|
|
||||||
return strlen(tmpstr);
|
return strlen(tmpstr);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI Eina_Tmpstr *
|
|
||||||
eina_tmpstr_strftime(const char *format, const struct tm *tm)
|
|
||||||
{
|
|
||||||
const size_t flen = strlen(format);
|
|
||||||
size_t buflen = 16; // An arbitrary starting size
|
|
||||||
char *buf = NULL;
|
|
||||||
|
|
||||||
do {
|
|
||||||
char *tmp;
|
|
||||||
size_t len;
|
|
||||||
|
|
||||||
tmp = realloc(buf, buflen * sizeof(char));
|
|
||||||
if (!tmp) goto on_error;
|
|
||||||
buf = tmp;
|
|
||||||
|
|
||||||
len = strftime(buf, buflen, format, tm);
|
|
||||||
// Check if we have the expected result and return it.
|
|
||||||
if ((len > 0 && len < buflen) || (len == 0 && flen == 0))
|
|
||||||
{
|
|
||||||
Eina_Tmpstr *r;
|
|
||||||
|
|
||||||
r = eina_tmpstr_add_length(buf, len + 1);
|
|
||||||
free(buf);
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Possibly buf overflowed - try again with a bigger buffer */
|
|
||||||
buflen <<= 1; // multiply buffer size by 2
|
|
||||||
} while (buflen < 128 * flen);
|
|
||||||
|
|
||||||
on_error:
|
|
||||||
free(buf);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
|
@ -237,31 +237,6 @@ EAPI size_t eina_tmpstr_len(Eina_Tmpstr *tmpstr);
|
||||||
*/
|
*/
|
||||||
EAPI void eina_tmpstr_del(Eina_Tmpstr *tmpstr) EINA_ARG_NONNULL(1);
|
EAPI void eina_tmpstr_del(Eina_Tmpstr *tmpstr) EINA_ARG_NONNULL(1);
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Add a new temporary string based on strftime output.
|
|
||||||
*
|
|
||||||
* @param tm Pointer to a tm structure needed by strftime.
|
|
||||||
* @param format String containing format specifiers needed by strftime.
|
|
||||||
*
|
|
||||||
* This will add a new temporary string by updating the string value by output
|
|
||||||
* of strftime.
|
|
||||||
*
|
|
||||||
* Example usage:
|
|
||||||
*
|
|
||||||
* @code
|
|
||||||
* time_t curr_time;
|
|
||||||
* struct tm * info;
|
|
||||||
* Eina_Tmpstr *buf;
|
|
||||||
*
|
|
||||||
* curr_time = time(NULL);
|
|
||||||
* info = localtime(&curr_time);
|
|
||||||
* buf = eina_tmpstr_strftime("%I:%M%p", info);
|
|
||||||
* @endcode
|
|
||||||
*
|
|
||||||
* @since 1.16.0
|
|
||||||
*/
|
|
||||||
EAPI Eina_Tmpstr *eina_tmpstr_strftime(const char *format, const struct tm *tm) EINA_ARG_NONNULL(2);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue