// Import a "users by number" (secondary index) record
// The key is a "long"
int import_usersbynumber(char *line, DBT *out_key, DBT *out_data) {
- // FIXME
- return(0);
+ char *token;
+ long usernum;
+
+ char *p = line;
+ for (int i=0; (token = strsep(&p, "|")); ++i) {
+ switch(i) {
+ case 1:
+ usernum = atol(token);
+ break;
+ case 2:
+ out_key->size = sizeof(long);
+ out_key->data = reallok(NULL, sizeof(long));
+ memcpy(out_key->data, &usernum, out_key->size);
+ out_data->data = strdup(token);
+ out_data->size = strlen(out_data->data) + 1;
+ return(1);
+ }
+ }
+
+ return(0); // should never get here unless it's a bad record
}