initial import
Annotate for file fopenRedirect.c
2009-02-17 tobias 1 /*
23:15:35 ' 2 * Copyright (c) 2004 Tobias Rautenkranz <tobias@rautenkranz.ch>
' 3 *
' 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>
' 27
' 28 #define __USE_GNU
' 29 #include <string.h>
' 30 #include <dlfcn.h>
' 31
' 32 FILE* fopen(const char *filename, const char *modes)
' 33 {
' 34 FILE* (*_fopen) (const char*,const char*) = dlsym(RTLD_NEXT, "fopen");
' 35
' 36 if (strcmp(filename,"/proc/meminfo") == 0) {
' 37 printf("meminfo fix\n");
' 38 return _fopen("/usr/local/games/myth2/meminfo", modes); //change this path
' 39 } else
' 40 return _fopen(filename, modes);
' 41 }