version 1.5, 2011/06/21 13:54:05 |
version 1.7, 2011/06/21 23:37:27 |
|
|
#define TYPE_STANDARD 0x20 |
#define TYPE_STANDARD 0x20 |
#define TYPE_AUTHOR 0x40 |
#define TYPE_AUTHOR 0x40 |
#define TYPE_CONFIG 0x80 |
#define TYPE_CONFIG 0x80 |
#define TYPE__MAX TYPE_CONFIG |
#define TYPE_DESC 0x100 |
|
|
/* Buffer for storing growable data. */ |
/* Buffer for storing growable data. */ |
|
|
Line 416 main(int argc, char *argv[]) |
|
Line 416 main(int argc, char *argv[]) |
|
|
|
seq = R_FIRST; |
seq = R_FIRST; |
while (0 == (ch = (*hash->seq)(hash, &key, &val, seq))) { |
while (0 == (ch = (*hash->seq)(hash, &key, &val, seq))) { |
|
seq = R_NEXT; |
|
|
memcpy(vbuf, val.data, sizeof(uint32_t)); |
memcpy(vbuf, val.data, sizeof(uint32_t)); |
val.size = sizeof(vbuf); |
val.size = sizeof(vbuf); |
val.data = vbuf; |
val.data = vbuf; |
|
|
dbt_put(db, fbbuf, &key, &val); |
dbt_put(db, fbbuf, &key, &val); |
|
|
if ((*hash->del)(hash, &key, 0) < 0) { |
ch = (*hash->del)(hash, &key, R_CURSOR); |
perror("hash"); |
if (ch < 0) |
exit((int)MANDOCLEVEL_SYSERR); |
break; |
} |
|
seq = R_NEXT; |
|
} |
} |
|
|
if (ch < 0) { |
if (ch < 0) { |
|
|
pmdoc_Nd(MDOC_ARGS) |
pmdoc_Nd(MDOC_ARGS) |
{ |
{ |
int first; |
int first; |
|
size_t sz; |
|
|
for (first = 1, n = n->child; n; n = n->next) { |
for (first = 1, n = n->child; n; n = n->next) { |
if (MDOC_TEXT != n->type) |
if (MDOC_TEXT != n->type) |
continue; |
continue; |
if (first) |
|
buf_appendb(dbuf, n->string, strlen(n->string) + 1); |
if (first) { |
else |
sz = strlen(n->string) + 1; |
|
buf_appendb(dbuf, n->string, sz); |
|
buf_appendb(buf, n->string, sz); |
|
} else { |
buf_append(dbuf, n->string); |
buf_append(dbuf, n->string); |
|
buf_append(buf, n->string); |
|
} |
|
|
first = 0; |
first = 0; |
} |
} |
|
|
|
hash_put(hash, buf, TYPE_DESC); |
} |
} |
|
|
/* ARGSUSED */ |
/* ARGSUSED */ |
Line 737 hash_put(DB *db, const struct buf *buf, int mask) |
|
Line 747 hash_put(DB *db, const struct buf *buf, int mask) |
|
DBT key, val; |
DBT key, val; |
int rc; |
int rc; |
|
|
key.data = buf->cp; |
if (buf->len < 2) |
|
|
if ((key.size = buf->len) < 2) |
|
return; |
return; |
|
|
|
key.data = buf->cp; |
|
key.size = buf->len; |
|
|
if ((rc = (*db->get)(db, &key, &val, 0)) < 0) { |
if ((rc = (*db->get)(db, &key, &val, 0)) < 0) { |
perror("hash"); |
perror("hash"); |
exit((int)MANDOCLEVEL_SYSERR); |
exit((int)MANDOCLEVEL_SYSERR); |
Line 751 hash_put(DB *db, const struct buf *buf, int mask) |
|
Line 762 hash_put(DB *db, const struct buf *buf, int mask) |
|
val.data = &mask; |
val.data = &mask; |
val.size = sizeof(int); |
val.size = sizeof(int); |
|
|
/*fprintf(stderr, "Hashing: [%s] (0x%x)\n", |
|
(char *)key.data, mask);*/ |
|
|
|
if ((rc = (*db->put)(db, &key, &val, 0)) < 0) { |
if ((rc = (*db->put)(db, &key, &val, 0)) < 0) { |
perror("hash"); |
perror("hash"); |
exit((int)MANDOCLEVEL_SYSERR); |
exit((int)MANDOCLEVEL_SYSERR); |
Line 897 pman_node(MAN_ARGS) |
|
Line 905 pman_node(MAN_ARGS) |
|
while (' ' == *start) |
while (' ' == *start) |
start++; |
start++; |
|
|
buf_appendb(dbuf, start, strlen(start) + 1); |
sz = strlen(start) + 1; |
|
buf_appendb(dbuf, start, sz); |
|
buf_appendb(buf, start, sz); |
} |
} |
} |
} |
|
|