* Example:
* // Print all words in order.
* #include <ccan/strset/strset.h>
- * #include <ccan/grab_file/grab_file.h>
+ * #include <ccan/tal/grab_file/grab_file.h>
* #include <err.h>
* #include <string.h>
*
* char *file, *word;
*
* strset_init(&words);
- * file = grab_fd(NULL, 0, NULL);
+ * file = grab_fd(NULL, 0);
* if (!file)
* err(1, "Reading stdin");
*
-CFLAGS=-Wall -Werror -O3 -I../../..
-#CFLAGS=-Wall -Werror -g -I../../..
+CCANDIR=../../..
+CFLAGS=-Wall -Werror -O3 -I$(CCANDIR)
+#CFLAGS=-Wall -Werror -g -I$(CCANDIR)
all: cbspeed speed
-cbspeed: cbspeed.o ../../talloc.o ../../str_talloc.o ../../grab_file.o ../../str.o ../../time.o ../../noerr.o
+CCAN_OBJS:=ccan-tal.o ccan-tal-str.o ccan-tal-grab_file.o ccan-take.o ccan-time.o ccan-str.o ccan-noerr.o ccan-list.o
-speed: speed.o ../../talloc.o ../../str_talloc.o ../../grab_file.o ../../str.o ../../time.o ../../noerr.o
+cbspeed: cbspeed.o $(CCAN_OBJS)
+
+speed: speed.o $(CCAN_OBJS)
clean:
- rm -f cbspeed speed speed.o cbspeed.o
+ rm -f cbspeed speed speed.o cbspeed.o *.o
+
+ccan-tal.o: $(CCANDIR)/ccan/tal/tal.c
+ $(CC) $(CFLAGS) -c -o $@ $<
+ccan-tal-str.o: $(CCANDIR)/ccan/tal/str/str.c
+ $(CC) $(CFLAGS) -c -o $@ $<
+ccan-take.o: $(CCANDIR)/ccan/take/take.c
+ $(CC) $(CFLAGS) -c -o $@ $<
+ccan-tal-grab_file.o: $(CCANDIR)/ccan/tal/grab_file/grab_file.c
+ $(CC) $(CFLAGS) -c -o $@ $<
+ccan-time.o: $(CCANDIR)/ccan/time/time.c
+ $(CC) $(CFLAGS) -c -o $@ $<
+ccan-list.o: $(CCANDIR)/ccan/list/list.c
+ $(CC) $(CFLAGS) -c -o $@ $<
+ccan-str.o: $(CCANDIR)/ccan/str/str.c
+ $(CC) $(CFLAGS) -c -o $@ $<
+ccan-noerr.o: $(CCANDIR)/ccan/noerr/noerr.c
+ $(CC) $(CFLAGS) -c -o $@ $<
#15: Post-Churn lookup (miss): 189-197(191)
#16: Post-Churn lookup (random): 500-531(506)
*/
-#include <ccan/str_talloc/str_talloc.h>
-#include <ccan/grab_file/grab_file.h>
-#include <ccan/talloc/talloc.h>
+#include <ccan/tal/str/str.h>
+#include <ccan/tal/grab_file/grab_file.h>
+#include <ccan/tal/tal.h>
#include <ccan/time/time.h>
#include <stdio.h>
#include <stdlib.h>
critbit0_tree ct;
char **words, **misswords;
- words = strsplit(NULL, grab_file(NULL,
- argv[1] ? argv[1] : "/usr/share/dict/words",
- NULL), "\n");
+ words = tal_strsplit(NULL, grab_file(NULL,
+ argv[1] ? argv[1] : "/usr/share/dict/words"), "\n", STR_NO_EMPTY);
ct.root = NULL;
- num = talloc_array_length(words) - 1;
+ num = tal_count(words) - 1;
printf("%zu words\n", num);
/* Append and prepend last char for miss testing. */
- misswords = talloc_array(words, char *, num);
+ misswords = tal_arr(words, char *, num);
for (i = 0; i < num; i++) {
char lastc;
if (strlen(words[i]))
lastc = words[i][strlen(words[i])-1];
else
lastc = 'z';
- misswords[i] = talloc_asprintf(misswords, "%c%s%c%c",
- lastc, words[i], lastc, lastc);
+ misswords[i] = tal_fmt(misswords, "%c%s%c%c",
+ lastc, words[i], lastc, lastc);
}
printf("#01: Initial insert: ");
#15: Post-Churn lookup (miss): 175-186(176)
#16: Post-Churn lookup (random): 522-534(525)
*/
-#include <ccan/str_talloc/str_talloc.h>
-#include <ccan/grab_file/grab_file.h>
+#include <ccan/tal/str/str.h>
+#include <ccan/tal/grab_file/grab_file.h>
#include <ccan/talloc/talloc.h>
#include <ccan/time/time.h>
#include <ccan/strset/strset.c>
struct strset set;
char **words, **misswords;
- words = strsplit(NULL, grab_file(NULL,
- argv[1] ? argv[1] : "/usr/share/dict/words",
- NULL), "\n");
+ words = tal_strsplit(NULL, grab_file(NULL,
+ argv[1] ? argv[1] : "/usr/share/dict/words"),
+ "\n", STR_NO_EMPTY);
strset_init(&set);
- num = talloc_array_length(words) - 1;
+ num = tal_count(words) - 1;
printf("%zu words\n", num);
/* Append and prepend last char for miss testing. */
- misswords = talloc_array(words, char *, num);
+ misswords = tal_arr(words, char *, num);
for (i = 0; i < num; i++) {
char lastc;
if (strlen(words[i]))
lastc = words[i][strlen(words[i])-1];
else
lastc = 'z';
- misswords[i] = talloc_asprintf(misswords, "%c%s%c%c",
- lastc, words[i], lastc, lastc);
+ misswords[i] = tal_fmt(misswords, "%c%s%c%c",
+ lastc, words[i], lastc, lastc);
}
printf("#01: Initial insert: ");