[1842] in BarnOwl Developers
[PATCH 2/7] Add owl_new_av to abstract owl_list to AV*
daemon@ATHENA.MIT.EDU (David Benjamin)
Thu Oct 29 18:23:05 2009
Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
X-Original-To: nelhage@lunatique.mit.edu
From: David Benjamin <davidben@MIT.EDU>
To: barnowl-dev@mit.edu
Date: Sat, 24 Oct 2009 13:43:36 -0400
In-Reply-To: <1256406221-22905-2-git-send-email-davidben@mit.edu>
Takes a callback function to convert elements to SV*.
Signed-off-by: David Benjamin <davidben@mit.edu>
---
perlconfig.c | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/perlconfig.c b/perlconfig.c
index 1662d15..5b34fe8 100644
--- a/perlconfig.c
+++ b/perlconfig.c
@@ -35,6 +35,22 @@ SV *owl_new_sv(const char * str)
return ret;
}
+AV *owl_new_av(const owl_list *l, SV *(*to_sv)(const void *))
+{
+ AV *ret;
+ int i;
+ void *element;
+
+ ret = newAV();
+
+ for(i = 0; i < owl_list_get_size(l); i++) {
+ element = owl_list_get_element(l, i);
+ av_push(ret, to_sv(element));
+ }
+
+ return ret;
+}
+
SV *owl_perlconfig_message2hashref(const owl_message *m)
{
HV *h, *stash;
--
1.6.3.3