Eina stringshare: fixed up the previous commit a bit.

Fixed wrong usage of Eina_Stringshare - Thanks k-s.
Omited the star from the typedef - Thanks Sacihel.

SVN revision: 67642
This commit is contained in:
Tom Hacohen 2012-01-31 17:27:57 +00:00
parent ade018086c
commit 518424907e
4 changed files with 25 additions and 25 deletions

View File

@ -214,7 +214,7 @@
2012-01-31 Tom Hacohen 2012-01-31 Tom Hacohen
* Added an Eina_Stringshare type. It's just a typedef of "const char *" * Added an Eina_Stringshare type. It's just a typedef of "const char"
this is a same kind of visual hint for the purpose of the pointer, this is a same kind of visual hint for the purpose of the pointer,
but again, the two types are interchangeable. but again, the two types are interchangeable.

View File

@ -43,7 +43,7 @@
* #EINA_FALSE if the strings were the same after shared. * #EINA_FALSE if the strings were the same after shared.
*/ */
static inline Eina_Bool static inline Eina_Bool
eina_stringshare_replace(Eina_Stringshare *p_str, Eina_Stringshare news) eina_stringshare_replace(Eina_Stringshare **p_str, const char *news)
{ {
if (*p_str == news) return EINA_FALSE; if (*p_str == news) return EINA_FALSE;
@ -72,7 +72,7 @@ eina_stringshare_replace(Eina_Stringshare *p_str, Eina_Stringshare news)
* #EINA_FALSE if the strings were the same after shared. * #EINA_FALSE if the strings were the same after shared.
*/ */
static inline Eina_Bool static inline Eina_Bool
eina_stringshare_replace_length(Eina_Stringshare *p_str, Eina_Stringshare news, unsigned int slen) eina_stringshare_replace_length(Eina_Stringshare **p_str, const char *news, unsigned int slen)
{ {
if (*p_str == news) return EINA_FALSE; if (*p_str == news) return EINA_FALSE;

View File

@ -156,7 +156,7 @@
* *
* @since 1.2.0 * @since 1.2.0
*/ */
typedef const char * Eina_Stringshare; typedef const char Eina_Stringshare;
/** /**
* @brief Retrieve an instance of a string for use in a program. * @brief Retrieve an instance of a string for use in a program.
@ -177,7 +177,7 @@ typedef const char * Eina_Stringshare;
* *
* @see eina_share_common_add() * @see eina_share_common_add()
*/ */
EAPI Eina_Stringshare eina_stringshare_add_length(const char *str, unsigned int slen) EINA_WARN_UNUSED_RESULT; EAPI Eina_Stringshare *eina_stringshare_add_length(const char *str, unsigned int slen) EINA_WARN_UNUSED_RESULT;
/** /**
* @brief Retrieve an instance of a string for use in a program. * @brief Retrieve an instance of a string for use in a program.
@ -197,7 +197,7 @@ EAPI Eina_Stringshare eina_stringshare_add_length(const char *str, unsigned in
* *
* @see eina_stringshare_add_length() * @see eina_stringshare_add_length()
*/ */
EAPI Eina_Stringshare eina_stringshare_add(const char *str) EINA_WARN_UNUSED_RESULT; EAPI Eina_Stringshare *eina_stringshare_add(const char *str) EINA_WARN_UNUSED_RESULT;
/** /**
* @brief Retrieve an instance of a string for use in a program * @brief Retrieve an instance of a string for use in a program
@ -218,7 +218,7 @@ EAPI Eina_Stringshare eina_stringshare_add(const char *str) EINA_WARN_UNUSED_R
* *
* @see eina_stringshare_nprintf() * @see eina_stringshare_nprintf()
*/ */
EAPI Eina_Stringshare eina_stringshare_printf(const char *fmt, ...) EINA_WARN_UNUSED_RESULT EINA_PRINTF(1, 2); EAPI Eina_Stringshare *eina_stringshare_printf(const char *fmt, ...) EINA_WARN_UNUSED_RESULT EINA_PRINTF(1, 2);
/** /**
* @brief Retrieve an instance of a string for use in a program * @brief Retrieve an instance of a string for use in a program
@ -240,7 +240,7 @@ EAPI Eina_Stringshare eina_stringshare_printf(const char *fmt, ...) EINA_WARN_
* *
* @see eina_stringshare_nprintf() * @see eina_stringshare_nprintf()
*/ */
EAPI Eina_Stringshare eina_stringshare_vprintf(const char *fmt, va_list args) EINA_WARN_UNUSED_RESULT; EAPI Eina_Stringshare *eina_stringshare_vprintf(const char *fmt, va_list args) EINA_WARN_UNUSED_RESULT;
/** /**
* @brief Retrieve an instance of a string for use in a program * @brief Retrieve an instance of a string for use in a program
@ -260,7 +260,7 @@ EAPI Eina_Stringshare eina_stringshare_vprintf(const char *fmt, va_list args)
* *
* @see eina_stringshare_printf() * @see eina_stringshare_printf()
*/ */
EAPI Eina_Stringshare eina_stringshare_nprintf(unsigned int len, const char *fmt, ...) EINA_WARN_UNUSED_RESULT EINA_PRINTF(2, 3); EAPI Eina_Stringshare *eina_stringshare_nprintf(unsigned int len, const char *fmt, ...) EINA_WARN_UNUSED_RESULT EINA_PRINTF(2, 3);
/** /**
* Increment references of the given shared string. * Increment references of the given shared string.
@ -276,7 +276,7 @@ EAPI Eina_Stringshare eina_stringshare_nprintf(unsigned int len, const char *f
* *
* There is no unref since this is the work of eina_share_common_del(). * There is no unref since this is the work of eina_share_common_del().
*/ */
EAPI Eina_Stringshare eina_stringshare_ref(Eina_Stringshare str); EAPI Eina_Stringshare *eina_stringshare_ref(Eina_Stringshare *str);
/** /**
* @brief Note that the given string has lost an instance. * @brief Note that the given string has lost an instance.
@ -291,7 +291,7 @@ EAPI Eina_Stringshare eina_stringshare_ref(Eina_Stringshare str);
* Note that if the given pointer is not shared or NULL, bad things * Note that if the given pointer is not shared or NULL, bad things
* will happen, likely a segmentation fault. * will happen, likely a segmentation fault.
*/ */
EAPI void eina_stringshare_del(Eina_Stringshare str); EAPI void eina_stringshare_del(Eina_Stringshare *str);
/** /**
* @brief Note that the given string @b must be shared. * @brief Note that the given string @b must be shared.
@ -305,7 +305,7 @@ EAPI void eina_stringshare_del(Eina_Stringshare str);
* things will happen, likely a segmentation fault. If in doubt, try * things will happen, likely a segmentation fault. If in doubt, try
* strlen(). * strlen().
*/ */
EAPI int eina_stringshare_strlen(Eina_Stringshare str) EINA_PURE EINA_WARN_UNUSED_RESULT; EAPI int eina_stringshare_strlen(Eina_Stringshare *str) EINA_PURE EINA_WARN_UNUSED_RESULT;
/** /**
* @brief Dump the contents of the share_common. * @brief Dump the contents of the share_common.
@ -315,8 +315,8 @@ EAPI int eina_stringshare_strlen(Eina_Stringshare str) EINA_PURE
*/ */
EAPI void eina_stringshare_dump(void); EAPI void eina_stringshare_dump(void);
static inline Eina_Bool eina_stringshare_replace(Eina_Stringshare *p_str, Eina_Stringshare news) EINA_ARG_NONNULL(1); static inline Eina_Bool eina_stringshare_replace(Eina_Stringshare **p_str, const char *news) EINA_ARG_NONNULL(1);
static inline Eina_Bool eina_stringshare_replace_length(Eina_Stringshare *p_str, Eina_Stringshare news, unsigned int slen) EINA_ARG_NONNULL(1); static inline Eina_Bool eina_stringshare_replace_length(Eina_Stringshare **p_str, const char *news, unsigned int slen) EINA_ARG_NONNULL(1);
#include "eina_inline_stringshare.x" #include "eina_inline_stringshare.x"

View File

@ -577,7 +577,7 @@ eina_stringshare_shutdown(void)
*============================================================================*/ *============================================================================*/
EAPI void EAPI void
eina_stringshare_del(Eina_Stringshare str) eina_stringshare_del(Eina_Stringshare *str)
{ {
int slen; int slen;
@ -611,13 +611,13 @@ eina_stringshare_del(Eina_Stringshare str)
CRITICAL("EEEK trying to del non-shared stringshare \"%s\"", str); CRITICAL("EEEK trying to del non-shared stringshare \"%s\"", str);
} }
EAPI Eina_Stringshare EAPI Eina_Stringshare *
eina_stringshare_add_length(const char *str, unsigned int slen) eina_stringshare_add_length(const char *str, unsigned int slen)
{ {
if ((!str) || (slen <= 0)) if ((!str) || (slen <= 0))
return ""; return "";
else if (slen == 1) else if (slen == 1)
return (Eina_Stringshare) _eina_stringshare_single + ((*str) << 1); return (Eina_Stringshare *) _eina_stringshare_single + ((*str) << 1);
else if (slen < 4) else if (slen < 4)
{ {
const char *s; const char *s;
@ -632,7 +632,7 @@ eina_stringshare_add_length(const char *str, unsigned int slen)
sizeof(char), sizeof(char)); sizeof(char), sizeof(char));
} }
EAPI Eina_Stringshare EAPI Eina_Stringshare *
eina_stringshare_add(const char *str) eina_stringshare_add(const char *str)
{ {
int slen; int slen;
@ -653,7 +653,7 @@ eina_stringshare_add(const char *str)
return eina_stringshare_add_length(str, slen); return eina_stringshare_add_length(str, slen);
} }
EAPI Eina_Stringshare EAPI Eina_Stringshare *
eina_stringshare_printf(const char *fmt, ...) eina_stringshare_printf(const char *fmt, ...)
{ {
va_list args; va_list args;
@ -677,7 +677,7 @@ eina_stringshare_printf(const char *fmt, ...)
return ret; return ret;
} }
EAPI Eina_Stringshare EAPI Eina_Stringshare *
eina_stringshare_vprintf(const char *fmt, va_list args) eina_stringshare_vprintf(const char *fmt, va_list args)
{ {
char *tmp; char *tmp;
@ -698,7 +698,7 @@ eina_stringshare_vprintf(const char *fmt, va_list args)
return ret; return ret;
} }
EAPI Eina_Stringshare EAPI Eina_Stringshare *
eina_stringshare_nprintf(unsigned int len, const char *fmt, ...) eina_stringshare_nprintf(unsigned int len, const char *fmt, ...)
{ {
va_list args; va_list args;
@ -723,8 +723,8 @@ eina_stringshare_nprintf(unsigned int len, const char *fmt, ...)
return eina_stringshare_add_length(tmp, len); return eina_stringshare_add_length(tmp, len);
} }
EAPI Eina_Stringshare EAPI Eina_Stringshare *
eina_stringshare_ref(Eina_Stringshare str) eina_stringshare_ref(Eina_Stringshare *str)
{ {
int slen; int slen;
@ -765,7 +765,7 @@ eina_stringshare_ref(Eina_Stringshare str)
} }
EAPI int EAPI int
eina_stringshare_strlen(Eina_Stringshare str) eina_stringshare_strlen(Eina_Stringshare *str)
{ {
int len; int len;
/* special cases */ /* special cases */
@ -781,7 +781,7 @@ eina_stringshare_strlen(Eina_Stringshare str)
if (str[3] == '\0') if (str[3] == '\0')
return 3; return 3;
len = eina_share_common_length(stringshare_share, (Eina_Stringshare) str); len = eina_share_common_length(stringshare_share, (Eina_Stringshare *) str);
len = (len > 0) ? len / (int)sizeof(char) : -1; len = (len > 0) ? len / (int)sizeof(char) : -1;
return len; return len;
} }