+++ /dev/null
-#include <stdio.h>
-#include <string.h>
-#include "config.h"
-
-/**
- * crcsync - routines to use crc for an rsync-like protocol.
- *
- * This is a complete library for synchronization using a variant of the
- * rsync protocol.
- *
- * Example:
- * // Calculate checksums of file (3-arg mode)
- * // Or print differences between file and checksums (4+ arg mode)
- * #include <ccan/crcsync/crcsync.h>
- * #include <ccan/grab_file/grab_file.h>
- * #include <stdio.h>
- * #include <stdlib.h>
- * #include <err.h>
- *
- * static void print_result(long result)
- * {
- * if (result < 0)
- * printf("MATCHED CRC %lu\n", -result - 1);
- * else if (result > 0)
- * printf("%lu literal bytes\n", result);
- * }
- *
- * int main(int argc, char *argv[])
- * {
- * size_t len, used, blocksize;
- * char *file;
- * struct crc_context *ctx;
- * uint32_t *crcs;
- * long res, i;
- *
- * if (argc < 3 || (blocksize = atoi(argv[1])) == 0)
- * errx(1, "Usage: %s <blocksize> <file> <crc>...\n"
- * "OR: %s <blocksize> <file>", argv[0], argv[0]);
- *
- * file = grab_file(NULL, argv[2], &len);
- * if (!file)
- * err(1, "Opening file %s", argv[2]);
- *
- * if (argc == 3) {
- * // Short form prints CRCs of file for use in long form.
- * used = (len + blocksize - 1) / blocksize;
- * crcs = malloc(used * sizeof(uint32_t));
- * crc_of_blocks(file, len, blocksize, 32, crcs);
- * for (i = 0; i < used; i++)
- * printf("%i ", crcs[i]);
- * printf("\n");
- * return 0;
- * }
- *
- * crcs = malloc((argc - 3) * sizeof(uint32_t));
- * for (i = 0; i < argc-3; i++)
- * crcs[i] = atoi(argv[3+i]);
- *
- * ctx = crc_context_new(blocksize, 32, crcs, argc-3);
- * for (used = 0; used < len; ) {
- * used += crc_read_block(ctx, &res, file+used, len-used);
- * print_result(res);
- * }
- * while ((res = crc_read_flush(ctx)) != 0)
- * print_result(res);
- *
- * return 0;
- * }
- *
- * Licence: LGPL (v2 or any later version)
- */
-int main(int argc, char *argv[])
-{
- if (argc != 2)
- return 1;
-
- if (strcmp(argv[1], "depends") == 0) {
- printf("ccan/crc\n");
- return 0;
- }
-
- return 1;
-}