Eina stringshare: fixed up the previous commit a bit.
authorTom Hacohen <tom@stosb.com>
Tue, 31 Jan 2012 17:27:57 +0000 (17:27 +0000)
committerTom Hacohen <tom@stosb.com>
Tue, 31 Jan 2012 17:27:57 +0000 (17:27 +0000)
Fixed wrong usage of Eina_Stringshare - Thanks k-s.
Omited the star from the typedef - Thanks Sacihel.

SVN revision: 67642

legacy/eina/ChangeLog
legacy/eina/src/include/eina_inline_stringshare.x
legacy/eina/src/include/eina_stringshare.h
legacy/eina/src/lib/eina_stringshare.c

index 45c666e..9372b9c 100644 (file)
 
 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,
        but again, the two types are interchangeable.
 
index 6396a74..19827c5 100644 (file)
@@ -43,7 +43,7 @@
  *         #EINA_FALSE if the strings were the same after shared.
  */
 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;
 
@@ -72,7 +72,7 @@ eina_stringshare_replace(Eina_Stringshare *p_str, Eina_Stringshare news)
  *         #EINA_FALSE if the strings were the same after shared.
  */
 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;
 
index d572359..934fb40 100644 (file)
  *
  * @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.
@@ -177,7 +177,7 @@ typedef const char * Eina_Stringshare;
  *
  * @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.
@@ -197,7 +197,7 @@ EAPI Eina_Stringshare   eina_stringshare_add_length(const char *str, unsigned in
  *
  * @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
@@ -218,7 +218,7 @@ EAPI Eina_Stringshare   eina_stringshare_add(const char *str) EINA_WARN_UNUSED_R
  *
  * @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
@@ -240,7 +240,7 @@ EAPI Eina_Stringshare   eina_stringshare_printf(const char *fmt, ...) EINA_WARN_
  *
  * @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
@@ -260,7 +260,7 @@ EAPI Eina_Stringshare   eina_stringshare_vprintf(const char *fmt, va_list args)
  *
  * @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.
@@ -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().
  */
-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.
@@ -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
  * 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.
@@ -305,7 +305,7 @@ EAPI void               eina_stringshare_del(Eina_Stringshare str);
  * things will happen, likely a segmentation fault. If in doubt, try
  * 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.
@@ -315,8 +315,8 @@ EAPI int                eina_stringshare_strlen(Eina_Stringshare str) EINA_PURE
  */
 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_length(Eina_Stringshare *p_str, Eina_Stringshare news, unsigned int slen) 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, const char *news, unsigned int slen) EINA_ARG_NONNULL(1);
 
 #include "eina_inline_stringshare.x"
 
index b70ca3b..fe35954 100644 (file)
@@ -577,7 +577,7 @@ eina_stringshare_shutdown(void)
 *============================================================================*/
 
 EAPI void
-eina_stringshare_del(Eina_Stringshare str)
+eina_stringshare_del(Eina_Stringshare *str)
 {
    int slen;
 
@@ -611,13 +611,13 @@ eina_stringshare_del(Eina_Stringshare 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)
 {
    if ((!str) || (slen <= 0))
       return "";
    else if (slen == 1)
-      return (Eina_Stringshare) _eina_stringshare_single + ((*str) << 1);
+      return (Eina_Stringshare *) _eina_stringshare_single + ((*str) << 1);
    else if (slen < 4)
      {
         const char *s;
@@ -632,7 +632,7 @@ eina_stringshare_add_length(const char *str, unsigned int slen)
                                        sizeof(char), sizeof(char));
 }
 
-EAPI Eina_Stringshare
+EAPI Eina_Stringshare *
 eina_stringshare_add(const char *str)
 {
    int slen;
@@ -653,7 +653,7 @@ eina_stringshare_add(const char *str)
    return eina_stringshare_add_length(str, slen);
 }
 
-EAPI Eina_Stringshare
+EAPI Eina_Stringshare *
 eina_stringshare_printf(const char *fmt, ...)
 {
    va_list args;
@@ -677,7 +677,7 @@ eina_stringshare_printf(const char *fmt, ...)
    return ret;
 }
 
-EAPI Eina_Stringshare
+EAPI Eina_Stringshare *
 eina_stringshare_vprintf(const char *fmt, va_list args)
 {
    char *tmp;
@@ -698,7 +698,7 @@ eina_stringshare_vprintf(const char *fmt, va_list args)
    return ret;
 }
 
-EAPI Eina_Stringshare
+EAPI Eina_Stringshare *
 eina_stringshare_nprintf(unsigned int len, const char *fmt, ...)
 {
    va_list args;
@@ -723,8 +723,8 @@ eina_stringshare_nprintf(unsigned int len, const char *fmt, ...)
    return eina_stringshare_add_length(tmp, len);
 }
 
-EAPI Eina_Stringshare
-eina_stringshare_ref(Eina_Stringshare str)
+EAPI Eina_Stringshare *
+eina_stringshare_ref(Eina_Stringshare *str)
 {
    int slen;
 
@@ -765,7 +765,7 @@ eina_stringshare_ref(Eina_Stringshare str)
 }
 
 EAPI int
-eina_stringshare_strlen(Eina_Stringshare str)
+eina_stringshare_strlen(Eina_Stringshare *str)
 {
    int len;
    /* special cases */
@@ -781,7 +781,7 @@ eina_stringshare_strlen(Eina_Stringshare str)
    if (str[3] == '\0')
       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;
    return len;
 }