Home | History | Annotate | Download | only in makemandb

Lines Matching defs:rec

305 	struct roff_mandb_rec rec;
335 memset(&rec, 0, sizeof(rec));
337 init_secbuffs(&rec);
426 cleanup(&rec);
427 free_secbuffs(&rec);
433 update_db(db, mp, &rec);
436 free_secbuffs(&rec);
641 mandb_rec *rec, int *new_count, int *link_count, int *err_count)
660 sqlite3_bind_int64(inner_stmt, idx, rec->device);
662 sqlite3_bind_int64(inner_stmt, idx, rec->inode);
664 sqlite3_bind_int64(inner_stmt, idx, rec->mtime);
670 sqlite3_bind_int64(inner_stmt, idx, rec->device);
672 sqlite3_bind_int64(inner_stmt, idx, rec->inode);
674 sqlite3_bind_int64(inner_stmt, idx, rec->mtime);
703 update_db(sqlite3 *db, struct mparse *mp, mandb_rec *rec)
763 rec->device = row->device;
764 rec->inode = row->inode;
765 rec->mtime = row->mtime;
796 update_existing_entry(db, file, md5sum, rec,
821 rec->md5_hash = md5sum;
822 rec->file_path = estrdup(file);
824 begin_parse(file, mp, rec, fd);
825 if (insert_into_db(db, rec) < 0) {
874 begin_parse(const char *file, struct mparse *mp, mandb_rec *rec, int fd)
879 rec->xr_found = 0;
890 rec->page_type = MDOC;
891 proff_node(roff->first->child, rec, roff, mdocs);
893 rec->page_type = MAN;
894 proff_node(roff->first->child, rec, roff, mans);
897 set_machine(roff, rec);
898 set_section(roff, rec);
907 set_section(const struct roff_meta *rm, mandb_rec *rec)
912 easprintf(&rec->section, "%s", s);
913 if (rec->section[0] == '?' && mflags.verbosity == 2)
914 warnx("%s: Missing section number", rec->file_path);
922 set_machine(const struct roff_meta *rm, mandb_rec *rec)
927 rec->machine = estrdup(rm->arch);
935 pmdoc_Nm(const struct roff_node *n, mandb_rec *rec)
943 concat(&rec->name, escaped_name);
954 pmdoc_Nd(const struct roff_node *n, mandb_rec *rec)
957 deroff(&rec->name_desc, n);
958 if (rec->name_desc)
959 replace_hyph(rec->name_desc);
971 pmdoc_macro_handler(const struct roff_node *n, mandb_rec *rec, int doct)
1002 mdoc_parse_section(n->sec, buf, rec);
1011 mdoc_parse_section(n->sec, "\n", rec);
1028 pmdoc_Xr(const struct roff_node *n, mandb_rec *rec)
1033 pmdoc_Pp(const struct roff_node *n, mandb_rec *rec)
1042 pmdoc_Sh(const struct roff_node *n, mandb_rec *rec)
1064 mdoc_parse_Sh(n->body, rec);
1073 mdoc_parse_Sh(const struct roff_node *n, mandb_rec *rec)
1080 mdoc_parse_section(n->sec, n->string, rec);
1088 pmdoc_macro_handler(n, rec, MDOC_Xr);
1091 pmdoc_macro_handler(n, rec, MDOC_Pp);
1100 mdoc_parse_Sh(n->child, rec);
1101 mdoc_parse_Sh(n->next, rec);
1114 mdoc_parse_section(enum roff_sec sec, const char *string, mandb_rec *rec)
1125 append(&rec->lib, string);
1128 append(&rec->return_vals, string);
1131 append(&rec->env, string);
1134 append(&rec->files, string);
1137 append(&rec->exit_status, string);
1140 append(&rec->diagnostics, string);
1143 append(&rec->errors, string);
1146 append(&rec->desc, string);
1152 proff_node(const struct roff_node * n, mandb_rec * rec,
1173 (*func[tok_idx]) (n, rec);
1179 proff_node(n->child, rec, roff, func);
1180 proff_node(n->next, rec, roff, func);
1189 pman_parse_name(const struct roff_node *n, mandb_rec *rec)
1196 concat(&rec->name_desc, tmp);
1201 pman_parse_name(n->child, rec);
1204 pman_parse_name(n->next, rec);
1212 pman_block(const struct roff_node *n, mandb_rec *rec)
1231 pman_sh(const struct roff_node *n, mandb_rec *rec)
1268 man_parse_section(mapping[i].section, n, rec);
1278 pman_parse_name(n, rec);
1280 name_desc = rec->name_desc;
1297 * (or space) and store it in rec->name.
1301 * extract the alias name and store in rec->links.
1313 /* Extract the first term and store it in rec->name. */
1314 if (rec->name == NULL) {
1317 rec
1327 * Once rec->name is set, rest of the names
1330 if (rec->name && has_alias) {
1336 concat2(&rec->links, name_desc, sz);
1349 free(rec->name_desc);
1350 rec->name_desc = temp;
1351 temp = parse_escape(rec->name);
1352 free(rec->name);
1353 rec->name = temp;
1362 man_parse_section(MANSEC_RETURN_VALUES, n, rec);
1373 man_parse_section(MANSEC_EXIT_STATUS, n, rec);
1378 man_parse_section(MANSEC_NONE, n, rec);
1408 man_parse_section(enum man_sec sec, const struct roff_node *n, mandb_rec *rec)
1419 pman_parse_node(n, &rec->lib);
1422 pman_parse_node(n, &rec->return_vals);
1425 pman_parse_node(n, &rec->env);
1428 pman_parse_node(n, &rec->files);
1431 pman_parse_node(n, &rec->exit_status);
1434 pman_parse_node(n, &rec->diagnostics);
1437 pman_parse_node(n, &rec->errors);
1449 pman_parse_node(n, &rec->desc);
1463 insert_into_db(sqlite3 *db, mandb_rec *rec)
1478 if (rec->name == NULL || rec->name_desc == NULL ||
1479 rec->md5_hash == NULL) {
1480 cleanup(rec);
1485 rec->desc.data[rec->desc.offset] = 0;
1486 rec->lib.data[rec->lib.offset] = 0;
1487 rec->env.data[rec->env.offset] = 0;
1488 rec->return_vals.data[rec->return_vals.offset] = 0;
1489 rec->exit_status.data[rec->exit_status.offset] = 0;
1490 rec->files.data[rec->files.offset] = 0;
1491 rec->diagnostics.data[rec->diagnostics.offset] = 0;
1492 rec->errors.data[rec->errors.offset] = 0;
1500 if (rec->page_type == MDOC) {
1502 rec->links = estrdup(rec->name);
1503 free(rec->name);
1504 size_t sz = strcspn(rec->links, " \0");
1505 rec->name = emalloc(sz + 1);
1506 memcpy(rec->name, rec->links, sz);
1507 if(rec->name[sz - 1] == ',')
1508 rec->name[sz - 1] = 0;
1510 rec->name[sz] = 0;
1511 while (rec->links[sz] == ' ')
1513 tmp = estrdup(rec->links + sz);
1514 free(rec->links);
1515 rec->links = tmp;
1528 rc = sqlite3_bind_text(stmt, idx, rec->name, -1, NULL);
1535 rc = sqlite3_bind_text(stmt, idx, rec->section, -1, NULL);
1542 rc = sqlite3_bind_text(stmt, idx, rec->name_desc, -1, NULL);
1549 rc = sqlite3_bind_text(stmt, idx, rec->desc.data,
1550 rec->desc.offset + 1, NULL);
1557 rc = sqlite3_bind_text(stmt, idx, rec->lib.data,
1558 rec->lib.offset + 1, NULL);
1565 rc = sqlite3_bind_text(stmt, idx, rec->return_vals.data,
1566 rec->return_vals.offset + 1, NULL);
1573 rc = sqlite3_bind_text(stmt, idx, rec->env.data,
1574 rec->env.offset + 1, NULL);
1581 rc = sqlite3_bind_text(stmt, idx, rec->files.data,
1582 rec->files.offset + 1, NULL);
1589 rc = sqlite3_bind_text(stmt, idx, rec->exit_status.data,
1590 rec->exit_status.offset + 1, NULL);
1597 rc = sqlite3_bind_text(stmt, idx, rec->diagnostics.data,
1598 rec->diagnostics.offset + 1, NULL);
1605 rc = sqlite3_bind_text(stmt, idx, rec->errors.data,
1606 rec->errors.offset + 1, NULL);
1613 rc = sqlite3_bind_text(stmt, idx, rec->md5_hash, -1, NULL);
1620 if (rec->machine)
1621 rc = sqlite3_bind_text(stmt, idx, rec->machine, -1, NULL);
1648 rc = sqlite3_bind_int64(stmt, idx, rec->device);
1655 rc = sqlite3_bind_int64(stmt, idx, rec->inode);
1662 rc = sqlite3_bind_int64(stmt, idx, rec->mtime);
1669 rc = sqlite3_bind_text(stmt, idx, rec->file_path, -1, NULL);
1676 rc = sqlite3_bind_text(stmt, idx, rec->md5_hash, -1, NULL);
1702 warnx("Trying to update index for %s", rec->file_path);
1707 rec->file_path);
1724 cleanup(rec);
1730 sqlite3_bind_int64(stmt, idx, rec->device);
1732 sqlite3_bind_int64(stmt, idx, rec->inode);
1734 sqlite3_bind_int64(stmt, idx, rec->mtime);
1738 sqlite3_bind_text(stmt, idx, rec->md5_hash, -1, NULL);
1740 sqlite3_bind_text(stmt, idx, rec->file_path, -1, NULL);
1748 cleanup(rec);
1754 warnx("Failed at %s\n%s", rec->file_path, sqlite3_errmsg(db));
1755 cleanup(rec);
1763 if (rec->links && strlen(rec->links)) {
1764 links = rec->links;
1773 ln, rec->name, rec->section,
1774 rec->machine, rec->md5_hash, rec->name_desc);
1779 cleanup(rec);
1786 cleanup(rec);
1792 cleanup(rec);
1882 cleanup(mandb_rec *rec)
1884 rec->desc.offset = 0;
1885 rec->lib.offset = 0;
1886 rec->return_vals.offset = 0;
1887 rec->env.offset = 0;
1888 rec->exit_status.offset = 0;
1889 rec->diagnostics.offset = 0;
1890 rec->errors.offset = 0;
1891 rec->files.offset = 0;
1893 free(rec->machine);
1894 rec->machine = NULL;
1896 free(rec->links);
1897 rec->links = NULL;
1899 free(rec->file_path);
1900 rec->file_path = NULL;
1902 free(rec->name);
1903 rec->name = NULL;
1905 free(rec->name_desc);
1906 rec->name_desc = NULL;
1908 free(rec->md5_hash);
1909 rec->md5_hash = NULL;
1911 free(rec->section);
1912 rec->section = NULL;
1917 * Sets the value of buflen for all the sec_buff field of rec. And then
1918 * allocate memory to each sec_buff member of rec.
1921 init_secbuffs(mandb_rec *rec)
1930 rec->desc.buflen = 10 * BUFLEN;
1931 rec->desc.data = emalloc(rec->desc.buflen);
1932 rec->desc.offset = 0;
1934 rec->lib.buflen = BUFLEN / 2;
1935 rec->lib.data = emalloc(rec->lib.buflen);
1936 rec->lib.offset = 0;
1938 rec->return_vals.buflen = BUFLEN;
1939 rec->return_vals.data = emalloc(rec->return_vals.buflen);
1940 rec->return_vals.offset = 0;
1942 rec->exit_status.buflen = BUFLEN;
1943 rec->exit_status.data = emalloc(rec->exit_status.buflen);
1944 rec->exit_status.offset = 0;
1946 rec->env.buflen = BUFLEN;
1947 rec->env.data = emalloc(rec->env.buflen);
1948 rec->env.offset = 0;
1950 rec->files.buflen = BUFLEN;
1951 rec->files.data = emalloc(rec->files.buflen);
1952 rec->files.offset = 0;
1954 rec->diagnostics.buflen = BUFLEN;
1955 rec->diagnostics.data = emalloc(rec->diagnostics.buflen);
1956 rec->diagnostics.offset = 0;
1958 rec->errors.buflen = BUFLEN;
1959 rec->errors.data = emalloc(rec->errors.buflen);
1960 rec->errors.offset = 0;
1970 free_secbuffs(mandb_rec *rec)
1972 free(rec->desc.data);
1973 free(rec->lib.data);
1974 free(rec->return_vals.data);
1975 free(rec->exit_status.data);
1976 free(rec->env.data);
1977 free(rec->files.data);
1978 free(rec->diagnostics.data);
1979 free(rec->errors.data);