diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2008-06-20 08:36:20 +0000 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2008-06-20 08:36:20 +0000 |
commit | 9798dcd4dfa481eb28096a637f5b555a12354ad8 (patch) | |
tree | c9b535fe6453a2a9eeb0dc046c16be0e0f5ff7df /array.h | |
parent | af924e726a459fdf5401e6bd466826cce115b945 (diff) | |
download | rtmux-9798dcd4dfa481eb28096a637f5b555a12354ad8.tar.gz rtmux-9798dcd4dfa481eb28096a637f5b555a12354ad8.tar.bz2 rtmux-9798dcd4dfa481eb28096a637f5b555a12354ad8.zip |
Start of improved buffer code. Only set-buffer/show-buffer commands so far.
Diffstat (limited to 'array.h')
-rw-r--r-- | array.h | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -1,4 +1,4 @@ -/* $Id: array.h,v 1.4 2008-06-18 16:35:26 nicm Exp $ */ +/* $Id: array.h,v 1.5 2008-06-20 08:36:20 nicm Exp $ */ /* * Copyright (c) 2006 Nicholas Marriott <nicm@users.sourceforge.net> @@ -54,6 +54,15 @@ (a)->list[(a)->num] = s; \ (a)->num++; \ } while (0) +#define ARRAY_INSERT(a, i, s) do { \ + ENSURE_SIZE2((a)->list, (a)->space, (a)->num + 1, ARRAY_ITEMSIZE(a)); \ + if ((i) < (a)->num) { \ + memmove((a)->list + (i) + 1, (a)->list + (i), \ + ARRAY_ITEMSIZE(a) * ((a)->num - (i))); \ + } \ + (a)->list[i] = s; \ + (a)->num++; \ +} while (0) #define ARRAY_REMOVE(a, i) do { \ if ((i) < (a)->num - 1) { \ memmove((a)->list + (i), (a)->list + (i) + 1, \ |