Commit Graph

2672 Commits

Author SHA1 Message Date
Pierre Habouzit f423719bd6 use gperf
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 07:41:22 +02:00
Pierre Habouzit c2df807ede Use gperf to tokenize some strings.
This makes the code way more readable, and also avoids a lot of strcmps.

Use it for draw_align_get_from_str as a proof of concept.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 07:41:22 +02:00
MATSUU Takuto ec71a73072 build: set minimal cmake version to 2.4.7
FindPkgConfig is implemented in cmake-2.4.7. it doesn't work with cmake-2.4.6.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 07:37:42 +02:00
Julien Danjou 41b4214d18 build: fix bashisms
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-22 22:15:37 +02:00
Michael Gehring 7448914304 cmake: remove old build-utils 2008-06-22 22:13:07 +02:00
Michael Gehring 426d2fee9e cmake: update git version every build 2008-06-22 22:13:06 +02:00
Michael Gehring 35dce79296 cmake: bring back release codename 2008-06-22 22:13:06 +02:00
Michael Gehring 9206a60e88 cmake: consolidate version strings 2008-06-22 22:13:06 +02:00
Julien Danjou 46f03fd6a6 area_t: make it smaller, use arrays instead of lists.
Make area_t smaller so that it fits in an uint64_t using 4 {u,}int16_t's
for it. Note that xcb uses the very same structure, so we aren't loosing
any information while remaining very small.

This is better to use arrays in term of:
* memory access when iterating over area_t's;
* allocation because area_t's have no *next/*prev members anymore, which
  makes it a tiny structure (8 octets);
* allocation because we allocate area_t's by vector of'em rather than one
  by one.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 22:09:48 +02:00
Pierre Habouzit dc6373488f wipe elements overwritten by a splice
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 22:09:19 +02:00
Pierre Habouzit 25fc879582 Stupid memory leak fixed.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 22:03:01 +02:00
Julien Danjou 93289a1c1d add Michael as author
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-22 19:38:55 +02:00
Pierre Habouzit 3862a626c2 fix typo
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 18:58:52 +02:00
Julien Danjou 0ee345f07e misc: add Pierre as author
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-22 18:43:45 +02:00
Julien Danjou 901d8db5b6 buffer: add various code documentation
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-22 18:43:04 +02:00
Pierre Habouzit b4b381e947 Finish markup parsing rewrite to avoid mallocs.
For that matter, use elements as a filter for elements we care about, and
let the hook implement whatever it needs without duplicating everything.

The resulting algorithm is still O(n²) where n is the number of filtered
elements (3 at most right now), which isn't bad if we don't need to get
too many elements, but at least it's not quadratic in the number of
attributes anymore.

Speedup improvements could be done using gperf btw.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 17:45:45 +02:00
Pierre Habouzit 37d69b8dcc markup substitutions enhancements.
Do not preemptively allocate a g_markup_escape_text for substitutions,
just remember what we want to substitute markup with, and substitute it in
the final buffer efficiently.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 16:58:56 +02:00
Pierre Habouzit 943e2035fa Rework the markup_parser_* allocation API.
We have a stack, don't be ashamed to use it.

Instead of:

    foo_t *foo;

    foo = foo_new();
    /* work with foo */
    foo_delete(&foo);

It's way better to:

    foo_t foo;

    foo_init(&foo);
    /* work with &foo */
    foo_wipe(&foo);

Remember: more mallocs == more fragmentation.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 16:17:12 +02:00
Pierre Habouzit c3e01fdd43 Add buffer_add_xmlescaped, and malloc--
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 16:02:13 +02:00
Pierre Habouzit 0ad600ef0a And use a buffer in the drawing stuff.
So that we don't stupidly call even more strlen's.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 15:27:06 +02:00
Pierre Habouzit 3fb0b5127e Remove lots and lots of useless mallocs.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 15:20:55 +02:00
Pierre Habouzit 5c601dfd19 Use extensible buffers in markup parsing.
This should avoid quite a few malloc calls.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 15:12:42 +02:00
Pierre Habouzit e25a50774b Add extensible buffers to awesome.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 15:04:09 +02:00
Pierre Habouzit 848a0b1987 add {un,}likely macros
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 14:58:37 +02:00
Pierre Habouzit ea646e7077 Make refcounting safer.
put *item to NULL on unref, as we cannot know if the pointer is valid
after an unref, so just segfault rather than hide a problem.

Also return *item on ref() it allow short versions like:
  foo_list_push(&list, foo_ref(&elem));
which is kind of readable _and_ handy.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 14:22:44 +02:00
Pierre Habouzit 2a5014383d No need to copy the parser each time it's allocated.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 14:22:44 +02:00
Pierre Habouzit f2fd90655e Add a simple array generic type.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 13:52:26 +02:00
Pierre Habouzit f055e4a13b Add p_grow.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 13:30:39 +02:00
Félix C. Morency d42cdc47c3 cmake: Fixed source package generation
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-22 09:51:54 +02:00
Byron Clark 7106c9bcad Stop spamming the log when there is no image present.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-22 09:46:58 +02:00
Michael Gehring e1dd1344fc cmake: make out-of-source build work with readonly source dir 2008-06-22 03:00:42 +02:00
Michael Gehring 000e69729a cmake: figure out man section from filename 2008-06-21 19:14:26 +02:00
Michael Gehring 62f2e3d549 cmake: stop deleting the source when gzipping manpages 2008-06-21 18:27:36 +02:00
Félix C. Morency 041207090a * Fixed header generation 2008-06-21 18:08:55 +02:00
Michael Gehring 8cf710acad cmake: make manpages have dependecies again 2008-06-21 18:08:45 +02:00
Michael Gehring 15dbc1c887 cmake: make lua api documentation a target with dependencies 2008-06-21 17:04:02 +02:00
Michael Gehring f231e8496a cmake: cmake < 2.6 doesn't know FILE(STRINGS ...) 2008-06-21 15:10:59 +02:00
Arnaud Fontaine 452b89d6ec Always use unchecked xcb functions 2008-06-21 19:56:51 +09:00
Byron Clark d8104e8ad4 awful: mouse.screen_get only uses passed screen
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-21 10:20:00 +02:00
Michael Gehring 482679548b cmake: scan sources for lua exports 2008-06-21 10:20:00 +02:00
Michael Gehring 8fdd5fa62e cmake: install LICENSE/README/... 2008-06-21 10:20:00 +02:00
Michael Gehring 94c0b483fb cmake: make generated headers a real target with dependecies 2008-06-21 10:20:00 +02:00
Michael Gehring 0ec46b99b9 cmake: move cmake 2.4 compatibility settings on top 2008-06-21 10:20:00 +02:00
Michael Gehring dd3e37624b cmake: macroify FIND_LIBRARY/check 2008-06-21 10:20:00 +02:00
Michael Gehring ad073bc64c cmake: add vim fold markers 2008-06-21 10:20:00 +02:00
Michael Gehring bc85cd80ea cmake: awesome-client: stop linking to X libs 2008-06-21 10:20:00 +02:00
Michael Gehring 37ccec4800 cmake: restructure required/optional libs 2008-06-21 10:20:00 +02:00
Michael Gehring 30ea399f52 cmake: remove unnecessary variables 2008-06-21 10:20:00 +02:00
Michael Gehring a25ce00935 cmake: make building manpages an option 2008-06-21 10:20:00 +02:00
Michael Gehring 92e7c4f940 cmake: move doxygen target to CMakeLists.txt 2008-06-21 10:20:00 +02:00