Commit Graph

6405 Commits

Author SHA1 Message Date
Gustavo Sverzut Barbieri fe94f35f38 Return associated object.
SVN revision: 37316
2008-10-29 19:50:24 +00:00
Gustavo Sverzut Barbieri 9f45e76c20 Export driver as engine_name.
Also make sure it matches the names used by engines_get().



SVN revision: 37314
2008-10-29 19:31:05 +00:00
Gustavo Sverzut Barbieri 37b9f3af65 use unsigned for 1-bit members.
SVN revision: 37313
2008-10-29 19:07:10 +00:00
Gustavo Sverzut Barbieri 5e30ab4563 Remove unused attribute warnings.
SVN revision: 37307
2008-10-29 14:51:18 +00:00
Gustavo Sverzut Barbieri f22f587bab Fix stringshare on 64bits platforms.
sizeof(Eina_Stringshare_Node) is now 24 bytes on 64bits platforms, but
str[] was pointing to before that, to the 20th byte, causing out of
bounds access.

Adding the padding will cause str[] to use the correct position. It
wastes 4 more bytes, like pre-optimizations, but it's just on big
machines.



SVN revision: 37305
2008-10-29 14:18:29 +00:00
Vincent Torri de996636ba * configure.ac:
use AC_CHECK_HEADERS instead of AC_CHECK_HEADERS_ONCE, because it
	leads to more trouble than it improves configure speed...
	* src/lib/Evil.h:
	use __VA_ARGS__ instead of ##args to make gcc happy.



SVN revision: 37302
2008-10-29 11:07:43 +00:00
Vincent Torri 3fe7c5c077 remove useless fnmatch_libs
SVN revision: 37298
2008-10-29 08:36:22 +00:00
Vincent Torri 3c4a699d6d enable auto import
SVN revision: 37297
2008-10-29 08:35:36 +00:00
Vincent Torri aefef7e56f correctly detect fnmathc in libevil
SVN revision: 37296
2008-10-29 08:34:52 +00:00
Vincent Torri 52ea343c44 * configure.ac:
define _WIN32_WCE with the cegcc compiler too
	useless EVIL_HAVE_WINCE define
	* src/bin/evil_test_memcpy.c:
	use _WIN32_WCE insead of EVIL_HAVE_WINCE
	* src/lib/Evil.h:
	try another definition of open(). Need feedback.
	* src/lib/evil_private.h:
	* src/lib/evil_util.c:
	add private error message when GetLastMessage must be called
	* src/lib/Makefile.am:
	* src/lib/evil_link_ce.c:
	* src/lib/evil_link_xp.cpp:
	* src/lib/evil_unistd.c:
	* src/lib/evil_unistd.cpp:
	move specific link code (readlink and symlink) outside
	evil_unistd to evil_link_ce.c for Windows CE and
	evil_link_xp.cpp for Windows XP. This allow the Windows CE
	code not depend on c++ code anymore and above all, not
	statically link libstdc++ on that platform.
	I need feedback on Windows XP, btw :)



SVN revision: 37295
2008-10-29 08:04:52 +00:00
Carsten Haitzler ff536078be another sachiel fix! :)
SVN revision: 37292
2008-10-29 03:29:10 +00:00
Carsten Haitzler 0e4dcecbc4 remove from list properly and don't segv!
SVN revision: 37290
2008-10-29 01:38:47 +00:00
Peter Wehrfritz eea7912a84 no need for eina here
SVN revision: 37285
2008-10-28 22:26:59 +00:00
Peter Wehrfritz 612cdc6ca1 build eet even if openssl is not present
SVN revision: 37284
2008-10-28 22:15:26 +00:00
Gustavo Sverzut Barbieri 71f9c5aab7 refactor eina_stringshare_del() to make it easier to read.
SVN revision: 37282
2008-10-28 18:12:10 +00:00
Gustavo Sverzut Barbieri 1119bfebc1 improve readability: avoid macros inside our code
mixing #ifdef'ed blocks inside code is bad, can lead to warnings if
some variables are not used and it's a pain to read.

instead, just define functions and always call them, choose their
implementation based on the ifdef macros. I opted to have 2
declarations, but one can go like other parts and #ifdef around the
function contents as well.



SVN revision: 37281
2008-10-28 17:47:59 +00:00
Gustavo Sverzut Barbieri e9a398e076 test small strings.
SVN revision: 37280
2008-10-28 17:19:02 +00:00
Gustavo Sverzut Barbieri a5db129f56 Add missing magic check for existing node.
SVN revision: 37279
2008-10-28 17:16:42 +00:00
Gustavo Sverzut Barbieri 2569094023 Code refactor and cleanup of eina_stringshare_add().
Cases are now handled in separate, doing less useless steps and easier
to understand since 3 cases are now distinct.



SVN revision: 37278
2008-10-28 17:15:07 +00:00
Cedric BAIL a299da4fb5 This test is now not defined. Remove it.
SVN revision: 37277
2008-10-28 16:40:34 +00:00
Gustavo Sverzut Barbieri 72ae858dac fix _GET macros.
SVN revision: 37276
2008-10-28 16:37:32 +00:00
Cedric BAIL e243e4408a Make Eina_Rectangle_Pool more usable.
SVN revision: 37275
2008-10-28 15:28:46 +00:00
Cedric BAIL 4592044c82 Fix a little typo.
SVN revision: 37274
2008-10-28 14:45:16 +00:00
Gustavo Sverzut Barbieri 96adb8e1f0 save a byte per stringshare node.
we don't need to use 'begin' flag (that takes a byte) just to see if
we're in the same memory block as the head, just do a pointer math.



SVN revision: 37270
2008-10-28 12:34:58 +00:00
Gustavo Sverzut Barbieri 0b1e2fa0dc reduce the popuplation_group size.
we just have special case for up to 3 letters, everything else is
regular population.



SVN revision: 37269
2008-10-28 12:26:05 +00:00
Gustavo Sverzut Barbieri 3cd98b547a stringshare_del optimization.
trade off safety by speed, we will always assume str was previously
shared, like evas_stringshare_del() did and we can know with zero-cost
the number of references and can avoid strlen() too.

When references drop to zero we still have to do the hash, access the
bucket and then lookup the Red-Black tree, then walk the list of
nodes, but avoiding so would use more memory, unacceptable at this
point.



SVN revision: 37268
2008-10-28 12:23:12 +00:00
Vincent Torri 9a0b7ebd18 * configure.ac:
add c++ compiler checks
	remove linking against libuid.a	as it's not an import lib.
	* src/bin/Makefile.am:
	* src/bin/evil_suite.c:
	* src/bin/evil_test_link.c:
	* src/bin/evil_test_link.h:
	add unit test for links. Must be improved.
	* src/lib/Makefile.am:
	add unistd.cpp and uuid.c
	use -fno-exceptions when compiling c++ code
	* src/lib/evil_unistd.c:
	* src/lib/evil_unistd.cpp:
	use C++ api to manage links on Windows XP. Can be considered
	as heavy but it's cleaner as the internals can change later.
	I might consider to compile Windows CE code with only C compiler
	as with mingw32ce, libstdc++ is statically linked to the
	DLL / app (legacy of mingw stuff), to reduce a bit the DLL size.
	* src/lib/evil_private.h:
	declare _evil_error_display() as C function (otherwise linker
	not happy)
	* src/lib/evil_stdlib.c:
	use RegCreateKeyEx() instead of RegOpenKeyEx in getenv().
	fix an _evil_error_display() call.
	* src/lib/evil_util.c:
	add more error messages
	* src/lib/evil_uuid.c:
	define IID_IPersistFile (for links on Windows XP)
	* src/lib/evil_unistd.h:
	fix doc



SVN revision: 37267
2008-10-28 08:59:12 +00:00
Carsten Haitzler 09c1768c99 sachiel patch!
SVN revision: 37265
2008-10-28 06:37:16 +00:00
Carsten Haitzler 9761b10afa fix possible segv
SVN revision: 37263
2008-10-28 05:22:50 +00:00
Carsten Haitzler 5813cfd630 leak--
SVN revision: 37262
2008-10-28 04:58:39 +00:00
Carsten Haitzler e7b5030226 segv nuked thansk to scahiel and a leak plugged thansk to valgrind.
SVN revision: 37261
2008-10-28 04:01:10 +00:00
Gustavo Sverzut Barbieri 8325ae6ba3 Save 4 bytes per big string shared.
SVN revision: 37258
2008-10-28 00:42:35 +00:00
Gustavo Sverzut Barbieri 24ee564949 Cheap way to get strlen of a shared string.
it's not safe, but it's faster and can help for large strings, maximum
cost is 4 comparisons plus one pointer access.



SVN revision: 37257
2008-10-28 00:31:09 +00:00
Gustavo Sverzut Barbieri 16aed2623d define function as void as in prototype.
SVN revision: 37256
2008-10-28 00:18:31 +00:00
Gustavo Sverzut Barbieri 34397f7fc6 always copy all members from parent Evas_Smart_Class.
SVN revision: 37254
2008-10-27 21:21:53 +00:00
Gustavo Sverzut Barbieri d4ac927395 dump show percentages.
not that useful, but I like it.


SVN revision: 37253
2008-10-27 20:35:28 +00:00
Cedric BAIL 72e45419ec Add Eina_Rectangle_Pool support. Typically help for font handling in OpenGL or
any case where you need to split a rectangle in many differents small rectangle.


SVN revision: 37252
2008-10-27 20:24:12 +00:00
Gustavo Sverzut Barbieri db296d3d3c better optimize small stringshare comparison
SVN revision: 37251
2008-10-27 20:16:52 +00:00
Gustavo Sverzut Barbieri c311dd99a2 stringshare: special case for small (2-3 letters).
This should reduce overhead and give a bit speedup as well, let's test
with e17 real data and see how it goes.



SVN revision: 37250
2008-10-27 19:26:14 +00:00
Sebastian Dransfeld 0b115add8e Since CLOCK_PROCESS_CPUTIME_ID is a POSIX standard, we use it if it
exists regardles of system. Seems BSD actually is the weird case here.
Still use CLOCK_REALTIME as fallback.

SVN revision: 37249
2008-10-27 15:16:06 +00:00
Sebastian Dransfeld 23fdacaa1e Better fallback on clock as suggested by Naruto TAKAHASHI
SVN revision: 37248
2008-10-27 15:08:46 +00:00
Sebastian Dransfeld 3488ca351f Fix CLOCK as suggested by Ravenlock.
SVN revision: 37247
2008-10-27 14:19:55 +00:00
Cedric BAIL 45273db267 Correctly put condition around the code.
SVN revision: 37244
2008-10-27 14:05:09 +00:00
Cedric BAIL d46f7e583e * Optimize case for string length == 0 and 1.
* Add more debug information when using --enable-stringshare-usage.



SVN revision: 37239
2008-10-27 13:23:52 +00:00
Cedric BAIL ee6d4e42d5 Fix a little typo.
SVN revision: 37219
2008-10-27 10:11:44 +00:00
Sebastian Dransfeld 65e204a52e xine_xmalloc is deprecated and gives no benefit for us.
SVN revision: 37218
2008-10-27 09:50:00 +00:00
Sebastian Dransfeld c42322aebf Remove unused variable.
SVN revision: 37217
2008-10-27 09:49:49 +00:00
Sebastian Dransfeld 381dc201ad Fix sign warning.
SVN revision: 37216
2008-10-27 09:49:37 +00:00
Sebastian Dransfeld 97b46f898b Fix sign warning.
SVN revision: 37215
2008-10-27 09:49:25 +00:00
Sebastian Dransfeld b6ddfb54cf Mark unused parameter with __UNUSED__
SVN revision: 37214
2008-10-27 09:49:13 +00:00