From: nash Date: Mon, 26 Jul 2010 04:21:47 +0000 (+0000) Subject: Use offsetof rather the manual pointer compares. C89 can be taken as given I X-Git-Tag: 2.0_alpha~70^2~479 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c5f5e3033f53da41719d3af63f5e4a61f9496bff;p=framework%2Fuifw%2Feina.git Use offsetof rather the manual pointer compares. C89 can be taken as given I think. Also update authors to add Mwa, and fix copyright statement to be useful. (Always list years, not ranges of years... longer, but covered by international conventions). git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@50500 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- diff --git a/AUTHORS b/AUTHORS index eae0bfb..223a257 100644 --- a/AUTHORS +++ b/AUTHORS @@ -13,3 +13,4 @@ Andre Dieb Raphael Kubo da Costa Gustavo Chaves Fabiano Fidêncio +Brett Nash diff --git a/src/lib/eina_stringshare.c b/src/lib/eina_stringshare.c index 498ec77..c2fb356 100644 --- a/src/lib/eina_stringshare.c +++ b/src/lib/eina_stringshare.c @@ -2,10 +2,12 @@ * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 */ /* EINA - EFL data type library - * Copyright (C) 2002-2008 Carsten Haitzler, + * Copyright (C) 2002,2003,2004,2005,2006,2007,2008,2010 + * Carsten Haitzler, * Jorge Luis Zapata Muga, * Cedric Bail, * Gustavo Sverzut Barbieri + * Brett Nash * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -69,6 +71,7 @@ #include #include #include +#include #ifdef EFL_HAVE_POSIX_THREADS # include @@ -719,8 +722,8 @@ _eina_stringshare_node_init(Eina_Stringshare_Node *node, const char *str, int sl static Eina_Stringshare_Head * _eina_stringshare_head_alloc(int slen) { - Eina_Stringshare_Head *head, t; - const size_t head_size = (char *)&(t.builtin_node.str) - (char *)&t; + Eina_Stringshare_Head *head; + const size_t head_size = offsetof(Eina_Stringshare_Head, builtin_node.str); head = malloc(head_size + slen + 1); if (!head) @@ -832,8 +835,8 @@ _eina_stringshare_find_hash(Eina_Stringshare_Head *bucket, int hash) static Eina_Stringshare_Node * _eina_stringshare_node_alloc(int slen) { - Eina_Stringshare_Node *node, t; - const size_t node_size = (char *)&(t.str) - (char *)&t; + Eina_Stringshare_Node *node; + const size_t node_size = offsetof(Eina_Stringshare_Node, str); node = malloc(node_size + slen + 1); if (!node) @@ -845,8 +848,8 @@ _eina_stringshare_node_alloc(int slen) static Eina_Stringshare_Node * _eina_stringshare_node_from_str(const char *str) { - Eina_Stringshare_Node *node, t; - const size_t offset = (char *)&(t.str) - (char *)&t; + Eina_Stringshare_Node *node; + const size_t offset = offsetof(Eina_Stringshare_Node, str); node = (Eina_Stringshare_Node *)(str - offset); EINA_MAGIC_CHECK_STRINGSHARE_NODE(node, );