diff options
Diffstat (limited to 'lookup-incoming.c')
-rw-r--r-- | lookup-incoming.c | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/lookup-incoming.c b/lookup-incoming.c index 50f2dbc..d1467f8 100644 --- a/lookup-incoming.c +++ b/lookup-incoming.c @@ -3,6 +3,10 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> +#include <sys/types.h> + + +typedef __uint32_t art_id; static int @@ -20,20 +24,20 @@ int main(int argc, char **argv) FILE *out_file; char **title = NULL; - size_t titles; - size_t titles_read = 0; + art_id titles; + art_id titles_read = 0; - size_t **linki; - size_t *linkis; + art_id **linki; + art_id *linkis; char **cur_title; - size_t title_id; + art_id title_id; - size_t *dist_table; - size_t cur_dist; + art_id *dist_table; + art_id cur_dist; int cur_dist_is_not_last; - size_t i; + art_id i; if (argc < 2) { @@ -50,11 +54,11 @@ int main(int argc, char **argv) fread(&titles, sizeof(titles), 1, in_file); - linki = malloc(titles * sizeof(size_t*)); - linkis = malloc(titles * sizeof(size_t)); + linki = malloc(titles * sizeof(art_id*)); + linkis = malloc(titles * sizeof(art_id)); for (i = 0; i < titles; i++) { - size_t j; + art_id j; fread(&linkis[i], sizeof(linkis[i]), 1, in_file); //printf("linkis[%zd] = %zd\n", i, linkis[i]); @@ -120,7 +124,7 @@ int main(int argc, char **argv) printf("Article %zd (%s) is linked from %zd articles:\n", title_id, title[title_id], linkis[title_id]); for (i = 0; i < linkis[title_id]; i++) { - size_t x = linki[title_id][i]; + art_id x = linki[title_id][i]; printf(" %s\n", title[x]); } @@ -133,7 +137,7 @@ int main(int argc, char **argv) dist_table[title_id] = 0xdeadbeef; for (i = 0; i < linkis[title_id]; i++) { - size_t x = linki[title_id][i]; + art_id x = linki[title_id][i]; dist_table[x] = 1; } @@ -141,16 +145,16 @@ int main(int argc, char **argv) cur_dist_is_not_last = 1; while (cur_dist_is_not_last) { - size_t articles_found = 0; + art_id articles_found = 0; cur_dist_is_not_last = 0; for (i = 0; i < titles; i++) { if (dist_table[i] == cur_dist) { - size_t j; + art_id j; for (j = 0; j < linkis[i]; j++) { - size_t x = linki[i][j]; + art_id x = linki[i][j]; if (!dist_table[x]) { dist_table[x] = cur_dist + 1; |