Added some incomplete hack, that is not currently working
[mirrors/Programs.git] / c / troll23 / troll23.c
CommitLineData
95cee86b
H
1#define _GNU_SOURCE
2#include <stdio.h>
3#include <sys/types.h>
4#include <dlfcn.h>
5#include <stdarg.h>
6
7int rand(void) { return 23; }
8int random(void) { return 23; }
9
10static const char *redirect_name(const char *name)
11{
12 if(strcmp(name,"/dev/random") == 0) return "/dev/zero";
13 if(strcmp(name,"/dev/urandom") == 0) return "/dev/zero";
14 return name;
15}
16
17int open(const char *filename, int flags, ...)
18{
19 static int (*open_orig)(const char *, int, mode_t);
20 int ret;
21 va_list ap;
22 mode_t mode;
23
24 if (!open_orig) {
25 open_orig = dlsym(RTLD_NEXT, "open");
26 }
27
28 va_start(ap, flags);
29 mode = va_arg(ap, mode_t);
30 va_end(ap);
31
32 ret = open_orig(redirect_name(filename), flags, mode);
33
34 printf("open(\"%s\", 0x%x, %o) -> %d\n", filename, flags, mode, ret);
35
36 return ret;
37}
This page took 0.10557 seconds and 4 git commands to generate.