History log of /dovecot/src/lib/array.h
Revision Date Author Comments Expand
1d4e5de8414ed93d1c810b30a91ad83d6d954861 15-Dec-2017 Sergey Kitov <sergey.kitov@open-xchange.com>

lib: array_idx_modifiable changed not to allocate space.

0fd9c892b5012536bd674fb153cdae8c5e0fc17a 15-Dec-2017 Sergey Kitov <sergey.kitov@open-xchange.com>

lib: array_idx_get_space is defined as alias to array_idx_modifiable

19557f192d37cd54a1a090a8a26d9d47265e4413 01-Nov-2017 Aki Tuomi <aki.tuomi@dovecot.fi>

global: Fix spelling mistakes in comments Original work by @andreasschulze and @jsoref

/dovecot/doc/example-config/conf.d/20-pop3.conf /dovecot/doc/example-config/conf.d/90-quota.conf /dovecot/m4/notify.m4 /dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/db-checkpassword.c /dovecot/src/auth/db-passwd-file.c /dovecot/src/auth/mech-gssapi.c /dovecot/src/config/config-parser.c /dovecot/src/director/director-connection.c /dovecot/src/imap-urlauth/imap-urlauth.c /dovecot/src/imap/cmd-sort.c /dovecot/src/lib-dcrypt/ostream-encrypt.c /dovecot/src/lib-fs/fs-metawrap.c /dovecot/src/lib-fts/fts-filter.h /dovecot/src/lib-http/test-http-client-errors.c /dovecot/src/lib-imap-client/imapc-connection.c /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-index-map-hdr.c /dovecot/src/lib-index/mail-index-map.c /dovecot/src/lib-index/mail-index-strmap.h /dovecot/src/lib-index/mail-index-transaction-finish.c /dovecot/src/lib-index/mail-index-view.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-private.h /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-mail/message-part-data.h /dovecot/src/lib-ntlm/ntlm-des.c /dovecot/src/lib-ntlm/ntlm-types.h /dovecot/src/lib-otp/otp-hash.c /dovecot/src/lib-settings/settings.c /dovecot/src/lib-smtp/lmtp-client.h /dovecot/src/lib-ssl-iostream/ostream-openssl.c /dovecot/src/lib-storage/index/dbox-common/dbox-file.c /dovecot/src/lib-storage/index/dbox-single/sdbox-file.h /dovecot/src/lib-storage/index/index-search-mime.c /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/maildir/maildir-sync.c /dovecot/src/lib-storage/index/mbox/mbox-sync-rewrite.c /dovecot/src/lib-storage/index/mbox/mbox-sync.c /dovecot/src/lib-storage/list/mailbox-list-index-backend.c /dovecot/src/lib-storage/list/mailbox-list-index-status.c /dovecot/src/lib-storage/mailbox-attribute.c array.h buffer.c failures.c ioloop-epoll.c ioloop-kqueue.c istream.h net.h path-util.c sendfile-util.c seq-range-array.h wildcard-match.c /dovecot/src/master/sd-daemon.h /dovecot/src/master/service.h /dovecot/src/plugins/acl/acl-backend-vfile-acllist.c /dovecot/src/plugins/fs-compress/fs-compress.c /dovecot/src/plugins/mail-crypt/doveadm-mail-crypt.c /dovecot/src/plugins/mail-crypt/fs-crypt-common.c /dovecot/src/plugins/mail-filter/istream-ext-filter.c /dovecot/src/plugins/mail-filter/ostream-ext-filter.c /dovecot/src/pop3/pop3-client.c
2d729323913a672708dc600242e1cc3085985dcc 19-Apr-2016 Phil Carmody <phil@dovecot.fi>

lib: array - new copy-making array iterator Previously macros took a pointer, and that pointer was made to pointed to each element of the array in turn. Typical use cases for things like char* or struct* arrays were to immediately/repeatedly, dereference that pointer. This new iter (only one implementation done so far, more a proof of concept) gets rid of the user-visable pointer, and performs the dereference every time, and only when, a valid element is being iterated over. Empty array => no assignment. No U.B. NOTE: This cannot be done without assuming C99. It breaks the build on compilers that old if any components that are enabled use the macro. It strongly suggests we just need to make C99 mandatory. Signed-off-by: Phil Carmody <phil@dovecot.fi>

fdc468280e23ddd3a91a0539e7a48ba9c8a60d27 15-Jun-2015 Phil Carmody <phil@dovecot.fi>

lib: array - permit array_swap with uninitialised arrays Before initialisation, all fields are blank, so the element_size field is not the actual size, and the i_assert would fire. Signed-off-by: Phil Carmody <phil@dovecot.fi>

fbb70476f061c614bc7a99889e76f988d1cf4019 02-Feb-2015 Phil Carmody <phil@dovecot.fi>

lib: array - two helpers to avoid wasteful array_count There's no need to dereference array->element_size and perform a division when all you care about is the boolean isempty/nonempty predicate: $ git grep 'array_count(.*) > 0' | wc -l 77 $ git grep 'array_count(.*) == 0' | wc -l 95 Changing 6 of them has the following impact on the code: $ size src/lib-imap-client/imapc-connection.o text data bss dec hex filename 20879 0 4 20883 5193 src/lib-imap-client/imapc-connection.o $ size src/lib-imap-client/imapc-connection.o text data bss dec hex filename 20796 0 4 20800 5140 src/lib-imap-client/imapc-connection.o Signed-off-by: Phil Carmody <phil@dovecot.fi>

9a6250aecfe56f0970761806c16794c04330f46a 24-Jan-2015 Phil Carmody <phil@dovecot.fi>

lib: array - helper to swap array buffer ownership Currently there's no simple way to create a replacement for an array, and then atomically switch in that replacement. With this helper, you can just exchange ownership of the two lists and then free the new list (which now contains the old buffer). Signed-off-by: Phil Carmody <phil@dovecot.fi>

fe08c73b0bf87bfa3bfb2d3df5dc9845113e0cf3 05-Jan-2015 Phil Carmody <phil@dovecot.fi>

lib: array - explain implications of ARRAY_TYPE() in comment If you use ARRAY_TYPE() to pass an array around, then you must also use ARRAY_TYPE() to define the array itself, ARRAY() will no longer do. Reported-by: Arnt Gulbrandsen <arnt@gulbrandsen.priv.no> Signed-off-by: Phil Carmody <phil@dovecot.fi>

c029156a6eed53d440b496406e3df08b569568ec 05-Jan-2015 Phil Carmody <phil@dovecot.fi>

lib: array - new linear search helper There are large numbers of array_foreach loops which do nothing but search for the first element which matches some key. This can be abstracted out into a helper. Signed-off-by: Phil Carmody <phil@dovecot.fi>

842f5a5ebfbb6f9a550fd4fa5cf9ef963943d82f 28-Nov-2014 Phil Carmody <phil@dovecot.fi>

lib: array - array_foreach_idx is just a generic ptr_to_idx helper Signed-off-by: Phil Carmody <phil@dovecot.fi>

173b12537fdc65f71235073193223e811a00d130 28-Nov-2014 Phil Carmody <phil@dovecot.fi>

lib: test-array - remove possibility to optimise out tests (void) on a call to a "pure" function was causing some compilers (gcc 4.8) to not reach the assert within the pure function. Technically it's not a pure function, as (in the assert fail case) it has effects other than its return value. However, simply removing the void cast (and then actually using the return value) also prevents this optimisation. An additional fatal test was added - there's a difference between an access outside the allocated range and outside the initialised range. Signed-off-by: Phil Carmody <phil@dovecot.fi>

70c380a7b077e7c9fab056d977f0415bf8d063e0 25-Nov-2014 Phil Carmody <phil@dovecot.fi>

lib: array - additional compile-time checks to array_append The new two-array helper macro works in this context too. Note: array_copy doesn't have any protection currently, it isn't obvious how to wrap that with some safety without breaking interfaces. It only seems to have one internal user, lib/aqueue. Signed-off-by: Phil Carmody <phil@dovecot.fi>

0f111ddfcb893d75a79bb60942c77d97e15f6b99 25-Nov-2014 Phil Carmody <phil@dovecot.fi>

lib: array - element-wise comparison via callback 2 are provided - with and without a context pointer. Signed-off-by: Phil Carmody <phil@dovecot.fi>

887e05e03f83735acd5479be563193b3c2584d91 14-Nov-2014 Phil Carmody <phil@dovecot.fi>

lib: array/hash - enable typof checks for more compilers We have a HAVE_TYPEOF macro from autoconf, we may as well make use of it. Signed-off-by: Phil Carmody <phil@dovecot.fi>

fcb19f9e9933ef693fe98d3925ea52887ea8cd86 14-Nov-2014 Phil Carmody <phil@dovecot.fi>

lib: array/hash - protect macro parameters If a pointer parameter p is ``ptr + offset'', then sizeof(*p) becomes sizeof(*ptr + offset), which isn't what was wanted. sizeof(*(p)) is the safe expression to use instead. Ditto for just ``*data'' in array.h. The macros in hash.h which have been changed have been reindented for better readability and consistency. The bracketting of elem in (elem)++ in both of the array_foreach* macros isn't actually useful, as elem participates in token-pasting elsewhere. However, the two macros have been made more similar to each other for better parallelism. Signed-off-by: Phil Carmody <phil@dovecot.fi>

27a44fcfd8d19bffe0f267f20a2b5d3fe7600fdd 19-Aug-2012 Timo Sirainen <tss@iki.fi>

Removed CONTEXT_TYPE_SAFETY macro and reimplemented its functionality better. gcc/clang now gives a compiler error in many places if callback isn't exactly what was expected. It's also now much easier to add more of these checks.

/dovecot/src/anvil/anvil-connection.c /dovecot/src/auth/auth-request-handler.h /dovecot/src/auth/db-dict.c /dovecot/src/auth/db-ldap.c /dovecot/src/auth/db-sql.c /dovecot/src/config/config-connection.c /dovecot/src/doveadm/doveadm-mail-mailbox.c /dovecot/src/doveadm/doveadm-stats.c /dovecot/src/doveadm/doveadm.c /dovecot/src/imap/imap-fetch.h /dovecot/src/indexer/indexer-client.c /dovecot/src/lib-dns/dns-lookup.c /dovecot/src/lib-dns/dns-lookup.h /dovecot/src/lib-imap-storage/imap-msgpart.c /dovecot/src/lib-index/mail-index-util.c /dovecot/src/lib-lda/mail-send.c /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-mail/istream-header-filter.h /dovecot/src/lib-mail/message-header-parser.h /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-mail/test-istream-header-filter.c /dovecot/src/lib-master/master-service.c /dovecot/src/lib-settings/settings.c /dovecot/src/lib-settings/settings.h /dovecot/src/lib-sql/sql-api.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-purge.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c /dovecot/src/lib-storage/index/imapc/imapc-mail-fetch.c /dovecot/src/lib-storage/index/index-mail-binary.c /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-sort-string.c /dovecot/src/lib-storage/index/index-thread.c /dovecot/src/lib-storage/index/maildir/maildir-mail.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-sync-index.c /dovecot/src/lib-storage/index/mbox/mbox-mail.c /dovecot/src/lib-storage/index/pop3c/pop3c-sync.c /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mailbox-header.c array.h bsearch-insert-pos.c bsearch-insert-pos.h child-wait.h connection.c ioloop.h istream.h macros.h module-dir.c ostream.h strfuncs.c strfuncs.h test-bsearch-insert-pos.c /dovecot/src/plugins/acl/acl-backend.c /dovecot/src/plugins/fts-squat/squat-uidlist.c /dovecot/src/plugins/pop3-migration/pop3-migration-plugin.c
4ee00532a265bdfb38539d811fcd12d51210ac35 19-Aug-2012 Timo Sirainen <tss@iki.fi>

Array API changed: ARRAY_DEFINE(name, type) -> ARRAY(type) name Easy way to update your existing code: perl -i -pe 's:ARRAY_DEFINE\(([^,]+), *([^)]+)\);:ARRAY($2) $1;:' **/*.[ch]

/dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-settings.c /dovecot/src/auth/auth-settings.h /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/auth.c /dovecot/src/auth/db-ldap.h /dovecot/src/auth/main.c /dovecot/src/auth/passdb-template.c /dovecot/src/auth/passdb.c /dovecot/src/auth/userdb-template.c /dovecot/src/auth/userdb.c /dovecot/src/config/config-parser-private.h /dovecot/src/config/config-parser.c /dovecot/src/dict/dict-connection.h /dovecot/src/dict/dict-settings.h /dovecot/src/director/director-test.c /dovecot/src/director/director.h /dovecot/src/director/mail-host.c /dovecot/src/director/main.c /dovecot/src/director/user-directory.c /dovecot/src/doveadm/doveadm-dump.c /dovecot/src/doveadm/doveadm-kick.c /dovecot/src/doveadm/doveadm-mail-altmove.c /dovecot/src/doveadm/doveadm-mail-fetch.c /dovecot/src/doveadm/doveadm-mail.h /dovecot/src/doveadm/doveadm-print-flow.c /dovecot/src/doveadm/doveadm-print-pager.c /dovecot/src/doveadm/doveadm-print-table.c /dovecot/src/doveadm/doveadm-print.c /dovecot/src/doveadm/doveadm-server.h /dovecot/src/doveadm/doveadm-settings.h /dovecot/src/doveadm/doveadm-stats.c /dovecot/src/doveadm/doveadm-who.c /dovecot/src/doveadm/doveadm.c /dovecot/src/doveadm/dsync/dsync-mailbox-export.c /dovecot/src/doveadm/dsync/dsync-mailbox-import.c /dovecot/src/doveadm/dsync/dsync-mailbox-tree-private.h /dovecot/src/doveadm/dsync/dsync-mailbox-tree-sync.c /dovecot/src/doveadm/dsync/dsync-slave-pipe.c /dovecot/src/imap/cmd-list.c /dovecot/src/imap/imap-client.h /dovecot/src/imap/imap-commands-util.c /dovecot/src/imap/imap-commands.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-notify.h /dovecot/src/imap/imap-search.h /dovecot/src/indexer/worker-connection.c /dovecot/src/ipc/ipc-connection.h /dovecot/src/ipc/ipc-group.c /dovecot/src/lib-auth/auth-server-connection.h /dovecot/src/lib-dict/dict-memcached-ascii.c /dovecot/src/lib-dict/dict-redis.c /dovecot/src/lib-dict/dict-sql-settings.c /dovecot/src/lib-dict/dict-sql-settings.h /dovecot/src/lib-dict/dict-sql.c /dovecot/src/lib-dict/dict-transaction-memory.h /dovecot/src/lib-dict/dict.c /dovecot/src/lib-imap-client/imapc-client-private.h /dovecot/src/lib-imap-client/imapc-connection.c /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-cache-lookup.c /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-index-modseq.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-strmap.c /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction-export.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-transaction-view.c /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-transaction-log-view-private.h /dovecot/src/lib-lda/lmtp-client.c /dovecot/src/lib-lda/mail-deliver.h /dovecot/src/lib-mail/istream-attachment-connector.c /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-mail/rfc2231-parser.c /dovecot/src/lib-mail/test-istream-attachment.c /dovecot/src/lib-master/anvil-client.c /dovecot/src/lib-master/ipc-client.c /dovecot/src/lib-master/master-instance.c /dovecot/src/lib-master/master-service-settings.c /dovecot/src/lib-master/mountpoint-list.c /dovecot/src/lib-settings/settings-parser.c /dovecot/src/lib-sql/driver-pgsql.c /dovecot/src/lib-sql/driver-sqlpool.c /dovecot/src/lib-sql/sql-api-private.h /dovecot/src/lib-storage/index/dbox-common/dbox-file.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-map-private.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-save.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage.h /dovecot/src/lib-storage/index/dbox-single/sdbox-save.c /dovecot/src/lib-storage/index/imapc/imapc-storage.h /dovecot/src/lib-storage/index/index-mail-binary.c /dovecot/src/lib-storage/index/index-mail-headers.c /dovecot/src/lib-storage/index/index-mail.h /dovecot/src/lib-storage/index/index-search-private.h /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/index-sync-changes.c /dovecot/src/lib-storage/index/index-thread-finish.c /dovecot/src/lib-storage/index/maildir/maildir-keywords.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/mbox/mbox-sync-private.h /dovecot/src/lib-storage/list/mailbox-list-fs-iter.c /dovecot/src/lib-storage/list/mailbox-list-index-notify.c /dovecot/src/lib-storage/list/mailbox-list-maildir.c /dovecot/src/lib-storage/mail-search-register-human.c /dovecot/src/lib-storage/mail-search-register.c /dovecot/src/lib-storage/mail-storage-hooks.c /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage-settings.h /dovecot/src/lib-storage/mail-user.h /dovecot/src/lib-storage/mailbox-keywords.c /dovecot/src/lib-storage/mailbox-list-iter.c /dovecot/src/lib-storage/mailbox-list-private.h /dovecot/src/lib-storage/mailbox-list.c /dovecot/src/lib-storage/mailbox-tree.c array-decl.h array.h ioloop-epoll.c ioloop-kqueue.c ioloop-private.h lib.h module-context.h priorityq.c test-aqueue.c test-array.c var-expand.c /dovecot/src/lmtp/client.h /dovecot/src/lmtp/lmtp-proxy.c /dovecot/src/log/log-connection.c /dovecot/src/master/service-listen.c /dovecot/src/master/service-process-notify.c /dovecot/src/master/service.h /dovecot/src/plugins/acl/acl-backend-vfile.h /dovecot/src/plugins/acl/acl-cache.c /dovecot/src/plugins/expire/doveadm-expire.c /dovecot/src/plugins/expire/expire-set.c /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts-lucene/lucene-wrapper.cc /dovecot/src/plugins/fts-solr/fts-backend-solr-old.c /dovecot/src/plugins/fts-solr/fts-backend-solr.c /dovecot/src/plugins/fts-solr/solr-connection.c /dovecot/src/plugins/fts-squat/squat-trie.c /dovecot/src/plugins/fts-squat/squat-uidlist.c /dovecot/src/plugins/fts/fts-api.c /dovecot/src/plugins/fts/fts-parser-script.c /dovecot/src/plugins/fts/fts-storage.h /dovecot/src/plugins/pop3-migration/pop3-migration-plugin.c /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/quota/quota.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/virtual/virtual-mail.c /dovecot/src/plugins/virtual/virtual-search.c /dovecot/src/plugins/virtual/virtual-storage.h /dovecot/src/plugins/virtual/virtual-sync.c /dovecot/src/plugins/virtual/virtual-transaction.h /dovecot/src/pop3/pop3-client.c /dovecot/src/pop3/pop3-client.h /dovecot/src/replication/replicator/replicator-brain.c /dovecot/src/replication/replicator/replicator-queue.c /dovecot/src/ssl-params/main.c
31a574fda352ef4f71dbff9c30e15e4744e132c0 25-Jun-2012 Timo Sirainen <tss@iki.fi>

Added array_append_zero() to write a zero-filled record to an array. Replaced (void)array_append_space() calls with it.

/dovecot/src/auth/auth-settings.c /dovecot/src/auth/db-ldap.c /dovecot/src/config/config-filter.c /dovecot/src/config/config-parser.c /dovecot/src/doveadm/doveadm-mail-fetch.c /dovecot/src/doveadm/doveadm-mailbox-list-iter.c /dovecot/src/doveadm/dsync/doveadm-dsync.c /dovecot/src/doveadm/dsync/dsync-brain-mailbox.c /dovecot/src/doveadm/dsync/dsync-mailbox-import.c /dovecot/src/imap/cmd-list.c /dovecot/src/imap/imap-commands-util.c /dovecot/src/imap/imap-fetch.c /dovecot/src/lib-auth/auth-master.c /dovecot/src/lib-imap-storage/imap-msgpart.c /dovecot/src/lib-imap/imap-match.c /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-index-strmap.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-mail/rfc2231-parser.c /dovecot/src/lib-master/master-service-settings.c /dovecot/src/lib-sql/driver-sqlpool.c /dovecot/src/lib-storage/fail-mail.c /dovecot/src/lib-storage/index/dbox-common/dbox-attachment.c /dovecot/src/lib-storage/index/imapc/imapc-mailbox.c /dovecot/src/lib-storage/index/index-mail-headers.c /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/pop3c/pop3c-sync.c /dovecot/src/lib-storage/list/mailbox-list-fs-iter.c /dovecot/src/lib-storage/mailbox-keywords.c array.h ioloop-epoll.c ioloop-kqueue.c uri-util.c var-expand.c /dovecot/src/master/main.c /dovecot/src/plugins/acl/doveadm-acl.c /dovecot/src/plugins/expire/doveadm-expire.c /dovecot/src/plugins/expire/expire-plugin.c /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts-solr/fts-backend-solr-old.c /dovecot/src/plugins/fts-solr/fts-backend-solr.c /dovecot/src/plugins/fts-solr/solr-connection.c /dovecot/src/plugins/fts/fts-search.c /dovecot/src/plugins/imap-acl/imap-acl-plugin.c /dovecot/src/plugins/virtual/virtual-save.c /dovecot/src/util/script.c
0f819b4ecd3a144514f576516177029ffe0bd6d5 28-Apr-2012 Timo Sirainen <tss@iki.fi>

Code cleanup: Use array_count_i() to calculate array's size internally.

d429602cea56ee72e75b9f0fea372009efc25736 02-Dec-2009 Timo Sirainen <tss@iki.fi>

Added array_foreach_idx() --HG-- branch : HEAD

e254755d9daaf6b1503798f1bf1d9376d4197d6a 14-Nov-2009 Timo Sirainen <tss@iki.fi>

array_bsearch(): Cast return value to proper type. --HG-- branch : HEAD

548bf569f620a42a34dcddd95260d7da587b230e 05-Nov-2009 Timo Sirainen <tss@iki.fi>

array_foreach_modifiable() was broken in non-C99 compilers. Patch by Apple. --HG-- branch : HEAD

f9c84eed1019d750da00a73d904584e77762a416 27-Oct-2009 Timo Sirainen <tss@iki.fi>

array.h: Compile fix for non-C99 compilers. --HG-- branch : HEAD

1df7543b209cabc208515c6bfc3b123f6ea184c2 08-Oct-2009 Timo Sirainen <tss@iki.fi>

Added array_foreach() and array_foreach_modifiable(). --HG-- branch : HEAD

40252a7eb6030f51dc6436e5b844c8a65890a736 10-Jul-2009 Timo Sirainen <tss@iki.fi>

Added type safe array_bsearch(). --HG-- branch : HEAD

304cda7b78964aeacda7cd5388c7eb2a0be3e31a 17-Jun-2009 Timo Sirainen <tss@iki.fi>

Added array_sort() for type-safe array sorting. --HG-- branch : HEAD

3e414ac92b8ae252489d13c34730507898cdcfb9 10-Jan-2009 Timo Sirainen <tss@iki.fi>

Added array_get_pool(). Patch by Stephan Bosch. --HG-- branch : HEAD

704c2286d31146b8ab5bf908ef7d66d79917db2a 01-Sep-2008 Timo Sirainen <tss@iki.fi>

array_copy() was broken if source array was different from destination array. --HG-- branch : HEAD

68a4946b12583b88fa802e52ebee45cd96056772 20-Jun-2008 Timo Sirainen <tss@iki.fi>

Added more consts, ATTR_CONSTs and ATTR_PUREs. --HG-- branch : HEAD

/dovecot/src/imap/commands-util.c /dovecot/src/imap/commands-util.h /dovecot/src/lib-charset/charset-utf8.h /dovecot/src/lib-imap/imap-bodystructure.c /dovecot/src/lib-imap/imap-bodystructure.h /dovecot/src/lib-mail/message-header-parser.c /dovecot/src/lib-mail/message-header-parser.h /dovecot/src/lib-storage/mail-namespace.c /dovecot/src/lib-storage/mail-namespace.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mailbox-list.c /dovecot/src/lib-storage/mailbox-list.h aqueue.h array.c array.h buffer.c buffer.h crc32.h data-stack.h hash.h hex-dec.h istream.c istream.h lib.h network.h ostream-file.c ostream-internal.h ostream.c ostream.h primes.h priorityq.h seq-range-array.h str.h strfuncs.h unichar.h var-expand.h /dovecot/src/login-common/client-common.h /dovecot/src/login-common/login-proxy.c /dovecot/src/login-common/login-proxy.h /dovecot/src/login-common/ssl-proxy-openssl.c /dovecot/src/login-common/ssl-proxy.c /dovecot/src/login-common/ssl-proxy.h
7c7bf95aba9c99e31eb2a3b4732b6a765f774436 13-Jun-2008 Timo Sirainen <tss@iki.fi>

Added array_reverse(). --HG-- branch : HEAD

aa181b6e3751d4e76da6f135729032660b14406c 13-Jun-2008 Timo Sirainen <tss@iki.fi>

Uninlined some of the more complex array functions. --HG-- branch : HEAD

f59e2b09deeb94317342016949592577ef150c1b 29-Dec-2007 Timo Sirainen <tss@iki.fi>

Added queue implementation. --HG-- branch : HEAD

684844265f01abd1da5864647a6dd69cc1bbbc71 15-Sep-2007 Timo Sirainen <tss@iki.fi>

Renamed _array_*() to array_*_i() --HG-- branch : HEAD

0f66f12eb4cdbf47670975044c88d8f388bf92df 15-Sep-2007 Timo Sirainen <tss@iki.fi>

Changed buffer_free() and buffer_free_without_data() APIs to take ** pointer which is set to NULL instead of hiding it with a macro. --HG-- branch : HEAD

/dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/mech-rpa.c /dovecot/src/auth/password-scheme-rpa.c /dovecot/src/lib-auth/auth-client.c /dovecot/src/lib-auth/auth-server-connection.c /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-cache.c /dovecot/src/lib-index/mail-index-fsck.c /dovecot/src/lib-index/mail-index-map.c /dovecot/src/lib-index/mail-index-sync-ext.c /dovecot/src/lib-index/mail-index-sync-update.c /dovecot/src/lib-index/mail-transaction-log-append.c /dovecot/src/lib-index/mail-transaction-log-file.c /dovecot/src/lib-index/mailbox-list-index-sync.c /dovecot/src/lib-mail/message-decoder.c /dovecot/src/lib-mail/message-header-parser.c /dovecot/src/lib-ntlm/ntlm-encrypt.c /dovecot/src/lib-ntlm/ntlm-message.c /dovecot/src/lib-storage/index/index-mail.c array.h buffer.c buffer.h file-cache.c istream-seekable.c str.c /dovecot/src/plugins/fts-squat/squat-trie.c /dovecot/src/plugins/fts-squat/squat-uidlist.c /dovecot/src/pop3/client.c
c25356d5978632df6203437e1953bcb29e0c736f 16-Sep-2007 Timo Sirainen <tss@iki.fi>

Changed .h ifdef/defines to use <NAME>_H format. --HG-- branch : HEAD

/dovecot/src/auth/auth-cache.h /dovecot/src/auth/auth-client-connection.h /dovecot/src/auth/auth-client-interface.h /dovecot/src/auth/auth-master-connection.h /dovecot/src/auth/auth-master-interface.h /dovecot/src/auth/auth-master-listener.h /dovecot/src/auth/auth-request-handler.h /dovecot/src/auth/auth-request.h /dovecot/src/auth/auth-stream.h /dovecot/src/auth/auth-worker-client.h /dovecot/src/auth/auth-worker-server.h /dovecot/src/auth/auth.h /dovecot/src/auth/common.h /dovecot/src/auth/db-ldap.h /dovecot/src/auth/db-passwd-file.h /dovecot/src/auth/db-sql.h /dovecot/src/auth/mech.h /dovecot/src/auth/mycrypt.h /dovecot/src/auth/otp-skey-common.h /dovecot/src/auth/passdb-blocking.h /dovecot/src/auth/passdb-cache.h /dovecot/src/auth/passdb.h /dovecot/src/auth/password-scheme.h /dovecot/src/auth/plain-common.h /dovecot/src/auth/userdb-blocking.h /dovecot/src/auth/userdb-static.h /dovecot/src/auth/userdb-vpopmail.h /dovecot/src/auth/userdb.h /dovecot/src/deliver/auth-client.h /dovecot/src/deliver/deliver.h /dovecot/src/deliver/duplicate.h /dovecot/src/deliver/mail-send.h /dovecot/src/deliver/smtp-client.h /dovecot/src/dict/dict-cache.h /dovecot/src/dict/dict-server.h /dovecot/src/imap-login/client-authenticate.h /dovecot/src/imap-login/client.h /dovecot/src/imap-login/imap-proxy.h /dovecot/src/imap/client.h /dovecot/src/imap/commands-util.h /dovecot/src/imap/commands.h /dovecot/src/imap/common.h /dovecot/src/imap/imap-expunge.h /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-messageset.h /dovecot/src/imap/imap-search.h /dovecot/src/imap/imap-sort.h /dovecot/src/imap/imap-status.h /dovecot/src/imap/imap-sync.h /dovecot/src/imap/imap-thread.h /dovecot/src/lib-auth/auth-client.h /dovecot/src/lib-auth/auth-server-connection.h /dovecot/src/lib-auth/auth-server-request.h /dovecot/src/lib-charset/charset-utf8.h /dovecot/src/lib-dict/dict-client.h /dovecot/src/lib-dict/dict-private.h /dovecot/src/lib-dict/dict-sql.h /dovecot/src/lib-dict/dict.h /dovecot/src/lib-imap/imap-base-subject.h /dovecot/src/lib-imap/imap-bodystructure.h /dovecot/src/lib-imap/imap-date.h /dovecot/src/lib-imap/imap-envelope.h /dovecot/src/lib-imap/imap-match.h /dovecot/src/lib-imap/imap-parser.h /dovecot/src/lib-imap/imap-quote.h /dovecot/src/lib-imap/imap-util.h /dovecot/src/lib-index/mail-cache-private.h /dovecot/src/lib-index/mail-cache.h /dovecot/src/lib-index/mail-hash.h /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-private.h /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-index/mailbox-list-index-private.h /dovecot/src/lib-index/mailbox-list-index.h /dovecot/src/lib-mail/istream-header-filter.h /dovecot/src/lib-mail/mail-types.h /dovecot/src/lib-mail/message-address.h /dovecot/src/lib-mail/message-date.h /dovecot/src/lib-mail/message-decoder.h /dovecot/src/lib-mail/message-header-decode.h /dovecot/src/lib-mail/message-header-parser.h /dovecot/src/lib-mail/message-id.h /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-mail/message-part-serialize.h /dovecot/src/lib-mail/message-search.h /dovecot/src/lib-mail/message-send.h /dovecot/src/lib-mail/message-size.h /dovecot/src/lib-mail/quoted-printable.h /dovecot/src/lib-mail/rfc822-parser.h /dovecot/src/lib-ntlm/ntlm-byteorder.h /dovecot/src/lib-ntlm/ntlm-des.h /dovecot/src/lib-ntlm/ntlm-encrypt.h /dovecot/src/lib-ntlm/ntlm-flags.h /dovecot/src/lib-ntlm/ntlm-message.h /dovecot/src/lib-ntlm/ntlm-types.h /dovecot/src/lib-ntlm/ntlm.h /dovecot/src/lib-otp/otp-dictionary.h /dovecot/src/lib-otp/otp-hash.h /dovecot/src/lib-otp/otp-parity.h /dovecot/src/lib-otp/otp-parse.h /dovecot/src/lib-otp/otp.h /dovecot/src/lib-settings/settings.h /dovecot/src/lib-sql/sql-api-private.h /dovecot/src/lib-sql/sql-api.h /dovecot/src/lib-storage/index/cydir/cydir-storage.h /dovecot/src/lib-storage/index/cydir/cydir-sync.h /dovecot/src/lib-storage/index/dbox/dbox-file.h /dovecot/src/lib-storage/index/dbox/dbox-index.h /dovecot/src/lib-storage/index/dbox/dbox-storage.h /dovecot/src/lib-storage/index/dbox/dbox-sync.h /dovecot/src/lib-storage/index/index-mail.h /dovecot/src/lib-storage/index/index-sort.h /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-sync-changes.h /dovecot/src/lib-storage/index/maildir/maildir-filename.h /dovecot/src/lib-storage/index/maildir/maildir-keywords.h /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-sync.h /dovecot/src/lib-storage/index/maildir/maildir-uidlist.h /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.h /dovecot/src/lib-storage/index/mbox/mbox-file.h /dovecot/src/lib-storage/index/mbox/mbox-from.h /dovecot/src/lib-storage/index/mbox/mbox-lock.h /dovecot/src/lib-storage/index/mbox/mbox-md5.h /dovecot/src/lib-storage/index/mbox/mbox-storage.h /dovecot/src/lib-storage/index/mbox/mbox-sync-private.h /dovecot/src/lib-storage/list/index-mailbox-list.h /dovecot/src/lib-storage/list/mailbox-list-fs.h /dovecot/src/lib-storage/list/mailbox-list-maildir.h /dovecot/src/lib-storage/list/mailbox-list-subscriptions.h /dovecot/src/lib-storage/list/subscription-file.h /dovecot/src/lib-storage/mail-copy.h /dovecot/src/lib-storage/mail-error.h /dovecot/src/lib-storage/mail-namespace.h /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mailbox-list-private.h /dovecot/src/lib-storage/mailbox-list.h /dovecot/src/lib-storage/mailbox-tree.h array-decl.h array.h backtrace-string.h base64.h bsearch-insert-pos.h buffer.h close-keep-errno.h compat.h crc32.h data-stack.h env-util.h failures.h fd-close-on-exec.h fd-set-nonblock.h fdpass.h file-cache.h file-copy.h file-dotlock.h file-lock.h file-set-size.h hash.h hex-binary.h hex-dec.h hmac-md5.h home-expand.h hostpid.h imem.h ioloop-internal.h ioloop-iolist.h ioloop-notify-fd.h ioloop.h iostream-internal.h istream-internal.h istream-seekable.h istream-tee.h istream.h lib-signals.h lib.h macros.h md4.h md5.h mempool.h mkdir-parents.h mmap-util.h module-context.h module-dir.h mountpoint.h network.h nfs-workarounds.h ostream-crlf.h ostream-internal.h ostream.h primes.h printf-format-fix.h process-title.h randgen.h read-full.h restrict-access.h restrict-process-size.h safe-memset.h safe-mkdir.h safe-mkstemp.h sendfile-util.h seq-range-array.h sha1.h str-find.h str-sanitize.h str.h strescape.h strfuncs.h unichar.h unix-socket-create.h unlink-directory.h unlink-lockfiles.h utc-mktime.h utc-offset.h var-expand.h write-full.h /dovecot/src/login-common/client-common.h /dovecot/src/login-common/common.h /dovecot/src/login-common/login-proxy.h /dovecot/src/login-common/master.h /dovecot/src/login-common/sasl-server.h /dovecot/src/login-common/ssl-proxy.h /dovecot/src/master/askpass.h /dovecot/src/master/auth-process.h /dovecot/src/master/capabilities.h /dovecot/src/master/child-process.h /dovecot/src/master/common.h /dovecot/src/master/dict-process.h /dovecot/src/master/dup2-array.h /dovecot/src/master/listener.h /dovecot/src/master/log.h /dovecot/src/master/login-process.h /dovecot/src/master/mail-process.h /dovecot/src/master/master-login-interface.h /dovecot/src/master/master-settings.h /dovecot/src/master/ssl-init.h /dovecot/src/master/syslog-util.h /dovecot/src/plugins/acl/acl-api-private.h /dovecot/src/plugins/acl/acl-api.h /dovecot/src/plugins/acl/acl-backend-vfile.h /dovecot/src/plugins/acl/acl-cache.h /dovecot/src/plugins/acl/acl-plugin.h /dovecot/src/plugins/convert/convert-plugin.h /dovecot/src/plugins/convert/convert-storage.h /dovecot/src/plugins/expire/auth-client.h /dovecot/src/plugins/expire/expire-env.h /dovecot/src/plugins/expire/expire-plugin.h /dovecot/src/plugins/fts-lucene/fts-lucene-plugin.h /dovecot/src/plugins/fts-lucene/lucene-wrapper.h /dovecot/src/plugins/fts-squat/fts-squat-plugin.h /dovecot/src/plugins/fts-squat/squat-trie-private.h /dovecot/src/plugins/fts-squat/squat-trie.h /dovecot/src/plugins/fts-squat/squat-uidlist.h /dovecot/src/plugins/fts/fts-api-private.h /dovecot/src/plugins/fts/fts-api.h /dovecot/src/plugins/fts/fts-plugin.h /dovecot/src/plugins/imap-quota/imap-quota-plugin.h /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.h /dovecot/src/plugins/mail-log/mail-log-plugin.h /dovecot/src/plugins/mbox-snarf/mbox-snarf-plugin.h /dovecot/src/plugins/quota/quota-fs.h /dovecot/src/plugins/quota/quota-plugin.h /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota.h /dovecot/src/plugins/trash/trash-plugin.h /dovecot/src/plugins/zlib/istream-zlib.h /dovecot/src/plugins/zlib/zlib-plugin.h /dovecot/src/pop3-login/client-authenticate.h /dovecot/src/pop3-login/client.h /dovecot/src/pop3-login/pop3-proxy.h /dovecot/src/pop3/capability.h /dovecot/src/pop3/client.h /dovecot/src/pop3/commands.h /dovecot/src/pop3/common.h
b046ca519fc1092495691df7256de32a18dc7a17 31-Mar-2007 Timo Sirainen <tss@iki.fi>

Use COMPILE_ERROR_IF_TYPES_NOT_COMPATIBLE() for validating the data type. --HG-- branch : HEAD

9c43710d352b6c1f03ec3c7790b752c87be32149 25-Jan-2007 Timo Sirainen <tss@iki.fi>

Removed disable-asserts-specific array_idx(). It didn't work if array's element_size was different than sizeof(element type). --HG-- branch : HEAD

11a29a16c8b41ad7c057420e53963a4595adc33d 15-Nov-2006 Timo Sirainen <tss@iki.fi>

Removed extra ';' --HG-- branch : HEAD

c6eca51b54586c1f37cfe39e38c844da3f937a4d 16-Sep-2006 Timo Sirainen <tss@iki.fi>

Don't allow giving NULL parameter to array_get() or array_get_modifiable(). --HG-- branch : HEAD

c848d8976d0a5e92a406d0e4a9f0b6f46d9eefd8 16-Sep-2006 Timo Sirainen <tss@iki.fi>

Some more array changes. v and v_modifiable are now pointer-to-pointers so that they can actually be used to access the array's contents directly. Only array_idx() uses this currently though, and only if asserts are disabled. --HG-- branch : HEAD

91dca97b367c54a139c268b56a0c67f564bd9197 10-Sep-2006 Timo Sirainen <tss@iki.fi>

Replaced ARRAY_CREATE() macro with [ipt]_array_init() macros. The macro has no side effects so it might as well be lowercased. --HG-- branch : HEAD

/dovecot/src/auth/auth-master-listener.c /dovecot/src/auth/userdb-static.c /dovecot/src/dict/dict-server.c /dovecot/src/imap/commands-util.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-thread.c /dovecot/src/lib-dict/dict.c /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-cache.c /dovecot/src/lib-index/mail-index-sync-ext.c /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction.c /dovecot/src/lib-index/mail-index-view-sync.c /dovecot/src/lib-index/mail-index-view.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-sql/driver-mysql.c /dovecot/src/lib-sql/sql-api.c /dovecot/src/lib-storage/index/dbox/dbox-keywords.c /dovecot/src/lib-storage/index/dbox/dbox-save.c /dovecot/src/lib-storage/index/dbox/dbox-sync-expunge.c /dovecot/src/lib-storage/index/dbox/dbox-sync-full.c /dovecot/src/lib-storage/index/dbox/dbox-sync.c /dovecot/src/lib-storage/index/dbox/dbox-uidlist.c /dovecot/src/lib-storage/index/index-mail-headers.c /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-sort.c /dovecot/src/lib-storage/index/maildir/maildir-keywords.c /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/maildir/maildir-sync.c /dovecot/src/lib-storage/index/mbox/mbox-sync-parse.c /dovecot/src/lib-storage/index/mbox/mbox-sync-update.c /dovecot/src/lib-storage/index/mbox/mbox-sync.c /dovecot/src/lib-storage/mail-storage.c array.h ioloop-epoll.c ioloop-kqueue.c module-dir.c seq-range-array.c /dovecot/src/master/mail-process.c /dovecot/src/master/master-settings.c /dovecot/src/plugins/acl/acl-backend-vfile.c /dovecot/src/plugins/acl/acl-cache.c /dovecot/src/plugins/expire/expire-env.c /dovecot/src/plugins/quota/quota-dirsize.c /dovecot/src/plugins/quota/quota.c /dovecot/src/plugins/trash/trash-plugin.c
26a8b7deb3a5b6f26f9c4d71538e1248f680e4be 10-Sep-2006 Timo Sirainen <tss@iki.fi>

Removed type parameter from ARRAY_CREATE since it's not needed anymore. --HG-- branch : HEAD

/dovecot/src/auth/auth-master-listener.c /dovecot/src/auth/userdb-static.c /dovecot/src/dict/dict-server.c /dovecot/src/imap/commands-util.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-thread.c /dovecot/src/lib-dict/dict.c /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-cache.c /dovecot/src/lib-index/mail-index-sync-ext.c /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction.c /dovecot/src/lib-index/mail-index-view-sync.c /dovecot/src/lib-index/mail-index-view.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-sql/driver-mysql.c /dovecot/src/lib-sql/sql-api.c /dovecot/src/lib-storage/index/dbox/dbox-keywords.c /dovecot/src/lib-storage/index/dbox/dbox-save.c /dovecot/src/lib-storage/index/dbox/dbox-sync-expunge.c /dovecot/src/lib-storage/index/dbox/dbox-sync-full.c /dovecot/src/lib-storage/index/dbox/dbox-sync.c /dovecot/src/lib-storage/index/dbox/dbox-uidlist.c /dovecot/src/lib-storage/index/index-mail-headers.c /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-sort.c /dovecot/src/lib-storage/index/maildir/maildir-keywords.c /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/maildir/maildir-sync.c /dovecot/src/lib-storage/index/mbox/mbox-sync-parse.c /dovecot/src/lib-storage/index/mbox/mbox-sync-update.c /dovecot/src/lib-storage/index/mbox/mbox-sync.c /dovecot/src/lib-storage/mail-storage.c array.h ioloop-epoll.c ioloop-kqueue.c module-dir.c seq-range-array.c /dovecot/src/master/mail-process.c /dovecot/src/master/master-settings.c /dovecot/src/plugins/acl/acl-backend-vfile.c /dovecot/src/plugins/acl/acl-cache.c /dovecot/src/plugins/expire/expire-env.c /dovecot/src/plugins/quota/quota-dirsize.c /dovecot/src/plugins/quota/quota.c /dovecot/src/plugins/trash/trash-plugin.c
489a4b34972902602320f910fc0c6014ea072c50 28-Jun-2006 Timo Sirainen <timo.sirainen@movial.fi>

Added array_idx_clear(). --HG-- branch : HEAD

8d80659e504ffb34bb0c6a633184fece35751b18 28-Jun-2006 Timo Sirainen <tss@iki.fi>

Array API redesigned to work using unions. It now provides type safety without having to enable DEBUG, as long as the compiler supports typeof(). Its API changed a bit. It now allows directly accessing the array contents, although that's not necessarily recommended. Changed existing array usage to be type safe in a bit more places. Removed array_t completely. Also did s/modifyable/modifiable/. --HG-- branch : HEAD

/dovecot/src/auth/auth-master-listener.c /dovecot/src/auth/auth-master-listener.h /dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/mech-gssapi.c /dovecot/src/auth/userdb-static.c /dovecot/src/dict/dict-server.c /dovecot/src/imap/client.h /dovecot/src/imap/cmd-list.c /dovecot/src/imap/commands-util.c /dovecot/src/imap/commands-util.h /dovecot/src/imap/commands.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-fetch.h /dovecot/src/lib-auth/auth-client.c /dovecot/src/lib-dict/dict.c /dovecot/src/lib-imap/imap-base-subject.c /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-cache-lookup.c /dovecot/src/lib-index/mail-cache-private.h /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-sync-ext.c /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-sync-update.c /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-transaction-view.c /dovecot/src/lib-index/mail-index-transaction.c /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-index-view-sync.c /dovecot/src/lib-index/mail-index-view.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-append.c /dovecot/src/lib-mail/mail-types.h /dovecot/src/lib-mail/message-body-search.c /dovecot/src/lib-mail/message-header-search.c /dovecot/src/lib-sql/driver-mysql.c /dovecot/src/lib-sql/sql-api-private.h /dovecot/src/lib-sql/sql-api.c /dovecot/src/lib-storage/index/dbox/dbox-keywords.c /dovecot/src/lib-storage/index/dbox/dbox-save.c /dovecot/src/lib-storage/index/dbox/dbox-storage.h /dovecot/src/lib-storage/index/dbox/dbox-sync-expunge.c /dovecot/src/lib-storage/index/dbox/dbox-sync-full.c /dovecot/src/lib-storage/index/dbox/dbox-sync.c /dovecot/src/lib-storage/index/dbox/dbox-sync.h /dovecot/src/lib-storage/index/dbox/dbox-uidlist.c /dovecot/src/lib-storage/index/dbox/dbox-uidlist.h /dovecot/src/lib-storage/index/index-mail-headers.c /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-mail.h /dovecot/src/lib-storage/index/index-sort.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-sync.c /dovecot/src/lib-storage/index/maildir/maildir-keywords.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-sync.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-sync-parse.c /dovecot/src/lib-storage/index/mbox/mbox-sync-private.h /dovecot/src/lib-storage/index/mbox/mbox-sync-rewrite.c /dovecot/src/lib-storage/index/mbox/mbox-sync-update.c /dovecot/src/lib-storage/index/mbox/mbox-sync.c /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h array-decl.h array.h buffer.c buffer.h ioloop-epoll.c istream.c istream.h lib.h module-dir.c seq-range-array.c seq-range-array.h str.c str.h /dovecot/src/master/mail-process.c /dovecot/src/master/master-settings.h /dovecot/src/plugins/acl/acl-backend-vfile.c /dovecot/src/plugins/acl/acl-cache.c /dovecot/src/plugins/acl/acl-mailbox.c /dovecot/src/plugins/acl/acl-plugin.h /dovecot/src/plugins/quota/quota-dirsize.c /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/quota/quota.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/zlib/zlib-plugin.c
6ef7e31619edfaa17ed044b45861d106a86191ef 13-Jan-2006 Timo Sirainen <tss@iki.fi>

Added "bool" type and changed all ints that were used as booleans to bool. --HG-- branch : HEAD

/dovecot/configure.in /dovecot/src/auth/auth-cache.c /dovecot/src/auth/auth-cache.h /dovecot/src/auth/auth-client-connection.c /dovecot/src/auth/auth-master-connection.c /dovecot/src/auth/auth-master-listener.c /dovecot/src/auth/auth-master-listener.h /dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-request-handler.h /dovecot/src/auth/auth-request.c /dovecot/src/auth/auth-request.h /dovecot/src/auth/auth-worker-client.c /dovecot/src/auth/auth.c /dovecot/src/auth/auth.h /dovecot/src/auth/common.h /dovecot/src/auth/db-ldap.c /dovecot/src/auth/db-ldap.h /dovecot/src/auth/db-passwd-file.c /dovecot/src/auth/db-passwd-file.h /dovecot/src/auth/main.c /dovecot/src/auth/mech-apop.c /dovecot/src/auth/mech-cram-md5.c /dovecot/src/auth/mech-digest-md5.c /dovecot/src/auth/mech-ntlm.c /dovecot/src/auth/mech-rpa.c /dovecot/src/auth/passdb-bsdauth.c /dovecot/src/auth/passdb-cache.c /dovecot/src/auth/passdb-cache.h /dovecot/src/auth/passdb-pam.c /dovecot/src/auth/passdb-passwd.c /dovecot/src/auth/passdb-shadow.c /dovecot/src/auth/passdb.h /dovecot/src/auth/password-scheme.c /dovecot/src/auth/password-scheme.h /dovecot/src/auth/userdb-ldap.c /dovecot/src/auth/userdb-prefetch.c /dovecot/src/auth/userdb.h /dovecot/src/imap-login/client-authenticate.c /dovecot/src/imap-login/client-authenticate.h /dovecot/src/imap-login/client.c /dovecot/src/imap-login/client.h /dovecot/src/imap/client.c /dovecot/src/imap/client.h /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-authenticate.c /dovecot/src/imap/cmd-capability.c /dovecot/src/imap/cmd-check.c /dovecot/src/imap/cmd-close.c /dovecot/src/imap/cmd-copy.c /dovecot/src/imap/cmd-create.c /dovecot/src/imap/cmd-delete.c /dovecot/src/imap/cmd-examine.c /dovecot/src/imap/cmd-expunge.c /dovecot/src/imap/cmd-fetch.c /dovecot/src/imap/cmd-idle.c /dovecot/src/imap/cmd-list.c /dovecot/src/imap/cmd-login.c /dovecot/src/imap/cmd-logout.c /dovecot/src/imap/cmd-lsub.c /dovecot/src/imap/cmd-namespace.c /dovecot/src/imap/cmd-noop.c /dovecot/src/imap/cmd-rename.c /dovecot/src/imap/cmd-search.c /dovecot/src/imap/cmd-select.c /dovecot/src/imap/cmd-sort.c /dovecot/src/imap/cmd-status.c /dovecot/src/imap/cmd-store.c /dovecot/src/imap/cmd-subscribe.c /dovecot/src/imap/cmd-thread.c /dovecot/src/imap/cmd-uid.c /dovecot/src/imap/cmd-unselect.c /dovecot/src/imap/cmd-unsubscribe.c /dovecot/src/imap/commands-util.c /dovecot/src/imap/commands-util.h /dovecot/src/imap/commands.c /dovecot/src/imap/commands.h /dovecot/src/imap/imap-expunge.c /dovecot/src/imap/imap-expunge.h /dovecot/src/imap/imap-fetch-body.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-search.c /dovecot/src/imap/imap-search.h /dovecot/src/imap/imap-sort.c /dovecot/src/imap/imap-sync.c /dovecot/src/imap/imap-sync.h /dovecot/src/imap/imap-thread.c /dovecot/src/imap/namespace.c /dovecot/src/lib-auth/auth-client.c /dovecot/src/lib-auth/auth-client.h /dovecot/src/lib-auth/auth-server-connection.c /dovecot/src/lib-auth/auth-server-connection.h /dovecot/src/lib-auth/auth-server-request.c /dovecot/src/lib-auth/auth-server-request.h /dovecot/src/lib-charset/charset-iconv.c /dovecot/src/lib-charset/charset-utf8.c /dovecot/src/lib-charset/charset-utf8.h /dovecot/src/lib-dict/dict-client.c /dovecot/src/lib-dict/dict-private.h /dovecot/src/lib-dict/dict-sql.c /dovecot/src/lib-dict/dict.c /dovecot/src/lib-dict/dict.h /dovecot/src/lib-imap/imap-base-subject.c /dovecot/src/lib-imap/imap-base-subject.h /dovecot/src/lib-imap/imap-bodystructure.c /dovecot/src/lib-imap/imap-bodystructure.h /dovecot/src/lib-imap/imap-date.c /dovecot/src/lib-imap/imap-date.h /dovecot/src/lib-imap/imap-envelope.c /dovecot/src/lib-imap/imap-envelope.h /dovecot/src/lib-imap/imap-match.c /dovecot/src/lib-imap/imap-match.h /dovecot/src/lib-imap/imap-parser.c /dovecot/src/lib-imap/imap-parser.h /dovecot/src/lib-imap/imap-quote.c /dovecot/src/lib-imap/imap-quote.h /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-cache-lookup.c /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-cache.c /dovecot/src/lib-index/mail-cache.h /dovecot/src/lib-index/mail-index-fsck.c /dovecot/src/lib-index/mail-index-lock.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-sync-ext.c /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-sync-update.c /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-transaction.c /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-index-view-sync.c /dovecot/src/lib-index/mail-index-view.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-append.c /dovecot/src/lib-index/mail-transaction-log-private.h /dovecot/src/lib-index/mail-transaction-log-view.c /dovecot/src/lib-index/mail-transaction-log.c /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-mail/istream-header-filter.h /dovecot/src/lib-mail/message-address.c /dovecot/src/lib-mail/message-body-search.c /dovecot/src/lib-mail/message-body-search.h /dovecot/src/lib-mail/message-content-parser.c /dovecot/src/lib-mail/message-content-parser.h /dovecot/src/lib-mail/message-date.c /dovecot/src/lib-mail/message-date.h /dovecot/src/lib-mail/message-header-decode.c /dovecot/src/lib-mail/message-header-decode.h /dovecot/src/lib-mail/message-header-search.c /dovecot/src/lib-mail/message-header-search.h /dovecot/src/lib-mail/message-parser.c /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-mail/message-part-serialize.c /dovecot/src/lib-mail/message-send.c /dovecot/src/lib-mail/message-send.h /dovecot/src/lib-mail/message-size.c /dovecot/src/lib-mail/message-size.h /dovecot/src/lib-ntlm/ntlm-encrypt.c /dovecot/src/lib-ntlm/ntlm-message.c /dovecot/src/lib-ntlm/ntlm-message.h /dovecot/src/lib-ntlm/ntlm.h /dovecot/src/lib-settings/settings.c /dovecot/src/lib-settings/settings.h /dovecot/src/lib-sql/driver-mysql.c /dovecot/src/lib-sql/driver-pgsql.c /dovecot/src/lib-storage/index/dbox/dbox-list.c /dovecot/src/lib-storage/index/dbox/dbox-mail.c /dovecot/src/lib-storage/index/dbox/dbox-save.c /dovecot/src/lib-storage/index/dbox/dbox-storage.c /dovecot/src/lib-storage/index/dbox/dbox-storage.h /dovecot/src/lib-storage/index/dbox/dbox-sync-expunge.c /dovecot/src/lib-storage/index/dbox/dbox-sync.c /dovecot/src/lib-storage/index/dbox/dbox-sync.h /dovecot/src/lib-storage/index/dbox/dbox-uidlist.c /dovecot/src/lib-storage/index/index-mail-headers.c /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-mailbox-check.c /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-sync.c /dovecot/src/lib-storage/index/maildir/maildir-copy.c /dovecot/src/lib-storage/index/maildir/maildir-list.c /dovecot/src/lib-storage/index/maildir/maildir-mail.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-sync.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.h /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.c /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.h /dovecot/src/lib-storage/index/mbox/mbox-file.c /dovecot/src/lib-storage/index/mbox/mbox-file.h /dovecot/src/lib-storage/index/mbox/mbox-list.c /dovecot/src/lib-storage/index/mbox/mbox-lock.c /dovecot/src/lib-storage/index/mbox/mbox-mail.c /dovecot/src/lib-storage/index/mbox/mbox-md5.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/index/mbox/mbox-storage.h /dovecot/src/lib-storage/index/mbox/mbox-sync-parse.c /dovecot/src/lib-storage/index/mbox/mbox-sync-private.h /dovecot/src/lib-storage/index/mbox/mbox-sync-rewrite.c /dovecot/src/lib-storage/index/mbox/mbox-sync-update.c /dovecot/src/lib-storage/index/mbox/mbox-sync.c /dovecot/src/lib-storage/index/mbox/mbox-transaction.c /dovecot/src/lib-storage/mail-search.c /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mailbox-tree.c /dovecot/src/lib-storage/mailbox-tree.h /dovecot/src/lib-storage/subscription-file/subscription-file.c /dovecot/src/lib-storage/subscription-file/subscription-file.h array.h buffer.c buffer.h compat.h data-stack.c data-stack.h fd-close-on-exec.c fd-close-on-exec.h fd-set-nonblock.c fd-set-nonblock.h file-dotlock.c file-dotlock.h hash.c hash.h hex-binary.c ioloop-epoll.c ioloop-notify-dn.c ioloop-notify-inotify.c ioloop-poll.c ioloop.c ioloop.h istream-data.c istream-file.c istream-internal.h istream-limit.c istream-mmap.c istream-seekable.c istream.c istream.h lib-signals.c lib-signals.h mempool-alloconly.c module-dir.c module-dir.h network.c network.h ostream-crlf.c ostream-file.c ostream-internal.h ostream.c ostream.h printf-upper-bound.c restrict-access.c restrict-access.h restrict-process-size.h seq-range-array.c seq-range-array.h strfuncs.c strfuncs.h unlink-directory.c unlink-directory.h var-expand.c /dovecot/src/login-common/client-common.c /dovecot/src/login-common/client-common.h /dovecot/src/login-common/common.h /dovecot/src/login-common/main.c /dovecot/src/login-common/master.c /dovecot/src/login-common/master.h /dovecot/src/login-common/sasl-server.c /dovecot/src/login-common/ssl-proxy-gnutls.c /dovecot/src/login-common/ssl-proxy-openssl.c /dovecot/src/login-common/ssl-proxy.c /dovecot/src/login-common/ssl-proxy.h /dovecot/src/master/auth-process.c /dovecot/src/master/common.h /dovecot/src/master/log.c /dovecot/src/master/login-process.c /dovecot/src/master/mail-process.c /dovecot/src/master/mail-process.h /dovecot/src/master/main.c /dovecot/src/master/master-login-interface.h /dovecot/src/master/master-settings.c /dovecot/src/master/master-settings.h /dovecot/src/master/ssl-init.c /dovecot/src/master/syslog-util.c /dovecot/src/master/syslog-util.h /dovecot/src/plugins/imap-quota/imap-quota-plugin.c /dovecot/src/plugins/quota/quota-dict.c /dovecot/src/plugins/quota/quota-dirsize.c /dovecot/src/plugins/quota/quota-fs.c /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/quota/quota.c /dovecot/src/plugins/quota/quota.h /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/zlib/istream-zlib.c /dovecot/src/plugins/zlib/zlib-plugin.c /dovecot/src/pop3-login/client-authenticate.c /dovecot/src/pop3-login/client-authenticate.h /dovecot/src/pop3-login/client.c /dovecot/src/pop3-login/client.h /dovecot/src/pop3/client.c /dovecot/src/pop3/commands.c /dovecot/src/pop3/common.h /dovecot/src/pop3/main.c /dovecot/src/util/rawlog.c
16f816d3f3c32ae3351834253f52ddd0212bcbf3 04-Jul-2005 Timo Sirainen <tss@iki.fi>

Moved array declaration to array-decl.h and include it in lib.h. So array.h needs to be now included to use any array_*() functions. --HG-- branch : HEAD

/dovecot/src/auth/auth-client-connection.c /dovecot/src/auth/auth-master-connection.c /dovecot/src/auth/auth-master-listener.c /dovecot/src/imap/commands-util.c /dovecot/src/imap/imap-fetch.c /dovecot/src/lib-index/mail-cache-lookup.c /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-cache.c /dovecot/src/lib-index/mail-index-sync-ext.c /dovecot/src/lib-index/mail-index-sync-keywords.c /dovecot/src/lib-index/mail-index-sync-update.c /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction-view.c /dovecot/src/lib-index/mail-index-transaction.c /dovecot/src/lib-index/mail-index-view-sync.c /dovecot/src/lib-index/mail-index-view.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-transaction-log-append.c /dovecot/src/lib-storage/index/index-mail-headers.c /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/maildir/maildir-copy.c /dovecot/src/lib-storage/index/maildir/maildir-keywords.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/maildir/maildir-sync.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-sync-parse.c /dovecot/src/lib-storage/index/mbox/mbox-sync-rewrite.c /dovecot/src/lib-storage/index/mbox/mbox-sync-update.c /dovecot/src/lib-storage/index/mbox/mbox-sync.c /dovecot/src/lib-storage/mail-storage.c array-decl.h array.h lib.h /dovecot/src/master/mail-process.c
053843989f13d9013b265fb401a4bde7e0e6568e 28-Jun-2005 Timo Sirainen <tss@iki.fi>

Renamed array_modifyable_*() functions. I could never remember how they were named. --HG-- branch : HEAD

2a7666fd3168ba04c4c027391cdddf0b7fc8074b 26-Apr-2005 Timo Sirainen <tss@iki.fi>

Still more changes to how typeof() is used. Now it finally seems to be working nicely. --HG-- branch : HEAD

954dc3045a1df5594a1a7a0bc212ad4a92d62a20 10-Apr-2005 Timo Sirainen <tss@iki.fi>

ARRAY_CREATE() macro fix. Wasn't working in all situations. --HG-- branch : HEAD

b2d3ce601222d42ac334ee8d38f6aabdace83729 08-Apr-2005 Timo Sirainen <tss@iki.fi>

Added ARRAY_DEFINE_EXTERN(). --HG-- branch : HEAD

bb10ebcf076c959c752f583746d83805d7686df8 02-Apr-2005 Timo Sirainen <tss@iki.fi>

Keywords are now stored in X-Keywords headers in mbox. Did several related API changes to get better performance. --HG-- branch : HEAD

/dovecot/src/imap/client.h /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-select.c /dovecot/src/imap/commands-util.c /dovecot/src/imap/commands-util.h /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-sync-keywords.c /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-transaction.c /dovecot/src/lib-index/mail-index-view.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-append.c /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-mail.h /dovecot/src/lib-storage/index/index-status.c /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-sync-parse.c /dovecot/src/lib-storage/index/mbox/mbox-sync-private.h /dovecot/src/lib-storage/index/mbox/mbox-sync-rewrite.c /dovecot/src/lib-storage/index/mbox/mbox-sync-update.c /dovecot/src/lib-storage/index/mbox/mbox-sync.c /dovecot/src/lib-storage/mail-storage.h array.h
67d0d392020205daa85c5b109ab82d266eb6eefb 02-Apr-2005 Timo Sirainen <tss@iki.fi>

Added ARRAY_DEFINE_PTR() which needs to be used instead of ARRAY_DEFINE() for pointers. --HG-- branch : HEAD

0bed9236fca9b177d4bc3b4663e938097a73bab2 18-Mar-2005 Timo Sirainen <tss@iki.fi>

ARRAY_SET_TYPE() in non-DEBUG-mode was giving errors with older gccs if it was used at the beginning of a function (function can't start with ";"). --HG-- branch : HEAD

7cc4505269e2ead2530f8de14ec0fdb626c61793 15-Mar-2005 Timo Sirainen <tss@iki.fi>

Added ARRAY_INIT for initializing array_t in structs. --HG-- branch : HEAD

7c8d2127479db2f10e434af218d29a21b86132e9 12-Mar-2005 Timo Sirainen <tss@iki.fi>

#ifdefs were wrong, we need both __GNUC__ and DEBUG to do type checking. Added new ARRAY_TYPE_CHECKS macro which can also be defined manually to enable it. --HG-- branch : HEAD

3bc4e3b9f4ce6c3e771fa5ba284daa42828a9ce6 12-Mar-2005 Timo Sirainen <tss@iki.fi>

Renamed ARRAY_ARG_SET_TYPE() to ARRAY_SET_TYPE() and updated comments. --HG-- branch : HEAD

bd3714d623d67f7dc8bd70ba39b467762ae409e8 12-Mar-2005 Timo Sirainen <tss@iki.fi>

Updated example code, it was using older API.. --HG-- branch : HEAD

30972f343b285b6214ea053e1939b92cfe79040c 12-Mar-2005 Timo Sirainen <tss@iki.fi>

Added dynamic array implementation. When compiling with gcc and DEBUG enabled, gcc checks type safety at compile time. --HG-- branch : HEAD