summaryrefslogtreecommitdiff
path: root/examples/redis-unstable/utils/corrupt_rdb.c
diff options
context:
space:
mode:
Diffstat (limited to 'examples/redis-unstable/utils/corrupt_rdb.c')
-rw-r--r--examples/redis-unstable/utils/corrupt_rdb.c49
1 files changed, 0 insertions, 49 deletions
diff --git a/examples/redis-unstable/utils/corrupt_rdb.c b/examples/redis-unstable/utils/corrupt_rdb.c
deleted file mode 100644
index d1a093c..0000000
--- a/examples/redis-unstable/utils/corrupt_rdb.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Trivia program to corrupt an RDB file in order to check the RDB check
- * program behavior and effectiveness.
- *
- * Copyright (C) 2016-Present Redis Ltd. All rights reserved.
- *
- * Licensed under your choice of (a) the Redis Source Available License 2.0
- * (RSALv2); or (b) the Server Side Public License v1 (SSPLv1); or (c) the
- * GNU Affero General Public License v3 (AGPLv3).
- */
-
-#include <stdio.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <time.h>
-
-int main(int argc, char **argv) {
- struct stat stat;
- int fd, cycles;
-
- if (argc != 3) {
- fprintf(stderr,"Usage: <filename> <cycles>\n");
- exit(1);
- }
-
- srand(time(NULL));
- char *filename = argv[1];
- cycles = atoi(argv[2]);
- fd = open(filename,O_RDWR);
- if (fd == -1) {
- perror("open");
- exit(1);
- }
- fstat(fd,&stat);
-
- while(cycles--) {
- unsigned char buf[32];
- unsigned long offset = rand()%stat.st_size;
- int writelen = 1+rand()%31;
- int j;
-
- for (j = 0; j < writelen; j++) buf[j] = (char)rand();
- lseek(fd,offset,SEEK_SET);
- printf("Writing %d bytes at offset %lu\n", writelen, offset);
- write(fd,buf,writelen);
- }
- return 0;
-}