X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Frecord.c;h=4dc2366e330d266437ec6d70b932bbc9b6c2531f;hb=d5ffc2f6e667c1d849bf7579add8435664e678c5;hp=016cf24dc1be1c325d7bbcc358fd8541c2840ac3;hpb=70cdb5e208e33b88f2a95e45c36605753de4edd5;p=pazpar2-moved-to-github.git diff --git a/src/record.c b/src/record.c index 016cf24..4dc2366 100644 --- a/src/record.c +++ b/src/record.c @@ -1,4 +1,4 @@ -/* $Id: record.c,v 1.5 2007-04-24 22:17:05 marc Exp $ +/* $Id: record.c,v 1.10 2007-06-13 21:29:04 adam Exp $ Copyright (c) 2006-2007, Index Data. This file is part of Pazpar2. @@ -19,7 +19,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* $Id: record.c,v 1.5 2007-04-24 22:17:05 marc Exp $ */ +/* $Id: record.c,v 1.10 2007-06-13 21:29:04 adam Exp $ */ #include @@ -43,6 +43,9 @@ union data_types * data_types_assign(NMEM nmem, { // assert(nmem); + if (!data1) + return 0; + if (!*data1){ if (!nmem) return 0; @@ -55,7 +58,8 @@ union data_types * data_types_assign(NMEM nmem, } -struct record * record_create(NMEM nmem, int num_metadata, int num_sortkeys) +struct record * record_create(NMEM nmem, int num_metadata, int num_sortkeys, + struct client *client, int position) { struct record * record = 0; int i = 0; @@ -65,8 +69,7 @@ struct record * record_create(NMEM nmem, int num_metadata, int num_sortkeys) record = nmem_malloc(nmem, sizeof(struct record)); record->next = 0; - // which client should I use for record->client = cl; ?? - record->client = 0; + record->client = client; record->metadata = nmem_malloc(nmem, @@ -79,10 +82,20 @@ struct record * record_create(NMEM nmem, int num_metadata, int num_sortkeys) sizeof(union data_types*) * num_sortkeys); for (i = 0; i < num_sortkeys; i++) record->sortkeys[i] = 0; + + record->position = position; return record; } +struct record_metadata * record_metadata_create(NMEM nmem) +{ + struct record_metadata * rec_md + = nmem_malloc(nmem, sizeof(struct record_metadata)); + rec_md->next = 0; + return rec_md; +} + struct record_metadata * record_metadata_insert(NMEM nmem, struct record_metadata ** rmd,