https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d5a4e534aeed0c9c37e45a...
commit d5a4e534aeed0c9c37e45a7e6cc0feba9721ea58 Author: Katayama Hirofumi MZ katayama.hirofumi.mz@gmail.com AuthorDate: Wed May 13 22:21:17 2020 +0900 Commit: GitHub noreply@github.com CommitDate: Wed May 13 22:21:17 2020 +0900
[ROSAPPS][MAN] Don't hardcode C: drive (#2780)
CORE-13235 --- modules/rosapps/applications/sysutils/man/man.c | 38 +++++++++++++++++-------- 1 file changed, 26 insertions(+), 12 deletions(-)
diff --git a/modules/rosapps/applications/sysutils/man/man.c b/modules/rosapps/applications/sysutils/man/man.c index e382972b08d..825b7954396 100644 --- a/modules/rosapps/applications/sysutils/man/man.c +++ b/modules/rosapps/applications/sysutils/man/man.c @@ -15,6 +15,7 @@ */
+#include <stdlib.h> #include <stdio.h> #include <string.h> #include <windows.h> @@ -37,7 +38,7 @@ int AnalyzeFile(); /*====[Globals]====*/ FILE* manfile; char OpenFlag=0; -char manpath[MAXLINE]="c:\man\"; +char manpath[MAX_PATH]; /*=================*/
void @@ -49,21 +50,34 @@ SetCl(WORD cl) int OpenF(char* name) { - int retval=0; - char *manpath_local=(char*)malloc(sizeof(char)*MAXLINE); + int ret = 0; + char *cp;
- strcpy(manpath_local, manpath); //save mandir value + /* C:\man\... */ + cp = getenv("SystemDrive"); + if (cp && *cp) + { + strcpy(manpath, cp); + strcat(manpath, "\man\"); + } + else + { + strcpy(manpath, "C:\man\"); + } + strcat(manpath, name);
- if((manfile=fopen((strcat(manpath_local,name)),"r"))!=NULL) - { - OpenFlag=1; - AnalyzeFile(); - } + manfile = fopen(manpath, "r"); + if (manfile != NULL) + { + OpenFlag = 1; + AnalyzeFile(); + } else - retval=-1; + { + ret = -1; + }
- free(manpath_local); - return retval; + return ret; }
int