repos
/
Myth2
/ annotate_shade
summary
|
shortlog
|
log
|
tree
|
commit
|
commitdiff
|
headdiff
|
annotate
|
filehistory
normal
|
plain
|
shade
|
zebra
Remove the need for a meminfo file by just creating
Annotate for file fopenRedirect.c
2009-02-17 tobias
1
/*
2009-02-21 tobias
2
* Copyright (c) 2004 Tobias Rautenkranz <tobias@rautenkranz.ch>
2009-02-17 tobias
3
*
23:15:35 '
4
* Permission is hereby granted, free of charge, to any person
'
5
* obtaining a copy of this software and associated documentation
'
6
* files (the "Software"), to deal in the Software without
'
7
* restriction, including without limitation the rights to use,
'
8
* copy, modify, merge, publish, distribute, sublicense, and/or sell
'
9
* copies of the Software, and to permit persons to whom the
'
10
* Software is furnished to do so, subject to the following
'
11
* conditions:
'
12
*
'
13
* The above copyright notice and this permission notice shall be
'
14
* included in all copies or substantial portions of the Software.
'
15
*
'
16
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
'
17
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
'
18
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
'
19
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
'
20
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
'
21
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
'
22
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
'
23
* OTHER DEALINGS IN THE SOFTWARE.
'
24
*/
'
25
'
26
#include <stdio.h>
2009-02-21 tobias
27
11:08:59 '
28
#define __USE_GNU
2009-02-17 tobias
29
#include <string.h>
23:15:35 '
30
#include <dlfcn.h>
'
31
2009-02-21 Alan
32
/* Old meminfo emulating 256Mb */
08:37:57 '
33
char const *str = "root: total: used: free: shared: buffers: cached:\n"
'
34
"Mem: 268435456 0 268435456 0 0 0\n"
'
35
"Swap: 268435456 0 268435456\n";
'
36
2009-02-21 tobias
37
FILE* fopen(const char *filename, const char *modes)
2009-02-21 tobias
38
{
2009-02-21 tobias
39
FILE* (*_fopen) (const char*,const char*) = dlsym(RTLD_NEXT, "fopen");
2009-02-21 Alan
40
FILE* fp;
2009-02-21 tobias
41
2009-02-21 tobias
42
if (strcmp(filename,"/proc/meminfo") == 0) {
2009-02-21 Alan
43
printf("Compatibility meminfo fix for OpenGL and cutscenes by Tobias Rautenkranz\n");
08:37:57 '
44
'
45
fp = fopen("/tmp/meminfo-myth2", "w");
'
46
if (fp != NULL) {
'
47
fwrite(str, strlen(str), 1, fp);
'
48
fclose(fp);
'
49
}
'
50
'
51
return _fopen("/tmp/meminfo-myth2", modes);
2009-02-21 tobias
52
} else
10:26:12 '
53
return _fopen(filename, modes);
2009-02-17 tobias
54
}