X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=data1%2Fd1_sumout.c;h=fb4094f630948c79061627c8fc9183bb8a5018eb;hp=30f5e5fd61368cc4db2b2c9cc54c90169fffa08a;hb=a030c87bc444608639905eca95e29f84a4f1d991;hpb=6a0f9234f945bc4956e2bcef75f715661a9eba9a diff --git a/data1/d1_sumout.c b/data1/d1_sumout.c index 30f5e5f..fb4094f 100644 --- a/data1/d1_sumout.c +++ b/data1/d1_sumout.c @@ -1,5 +1,5 @@ /* This file is part of the Zebra server. - Copyright (C) 1994-2009 Index Data + Copyright (C) 1994-2011 Index Data Zebra is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free @@ -25,18 +25,15 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include #include -static int *f_integer(data1_node *c, ODR o) +static Odr_int *f_integer(data1_node *c, ODR o) { - int *r; char intbuf[64]; if (!c->child || c->child->which != DATA1N_data || c->child->u.data.len > 63) return 0; - r = (int *)odr_malloc(o, sizeof(*r)); sprintf(intbuf, "%.*s", 63, c->child->u.data.data); - *r = atoi(intbuf); - return r; + return odr_intdup(o, atoi(intbuf)); } static char *f_string(data1_node *c, ODR o)