X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=scripts%2Fbasic%2Fdocproc.c;h=d6071cbf13d7645ee53f96089bb8c12af04fcb8b;hb=refs%2Fheads%2Fvserver;hp=d28f883cb37ac7bf9007ed8374b190d41c241eb0;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/scripts/basic/docproc.c b/scripts/basic/docproc.c index d28f883cb..d6071cbf1 100644 --- a/scripts/basic/docproc.c +++ b/scripts/basic/docproc.c @@ -79,6 +79,7 @@ void exec_kernel_doc(char **svec) { pid_t pid; int ret; + char real_filename[PATH_MAX + 1]; /* Make sure output generated so far are flushed */ fflush(stdout); switch(pid=fork()) { @@ -86,8 +87,13 @@ void exec_kernel_doc(char **svec) perror("fork"); exit(1); case 0: - execvp(KERNELDOCPATH KERNELDOC, svec); - perror("exec " KERNELDOCPATH KERNELDOC); + memset(real_filename, 0, sizeof(real_filename)); + strncat(real_filename, getenv("SRCTREE"), PATH_MAX); + strncat(real_filename, KERNELDOCPATH KERNELDOC, + PATH_MAX - strlen(real_filename)); + execvp(real_filename, svec); + fprintf(stderr, "exec "); + perror(real_filename); exit(1); default: waitpid(pid, &ret ,0); @@ -160,12 +166,18 @@ void find_export_symbols(char * filename) struct symfile *sym; char line[MAXLINESZ]; if (filename_exist(filename) == NULL) { + char real_filename[PATH_MAX + 1]; + memset(real_filename, 0, sizeof(real_filename)); + strncat(real_filename, getenv("SRCTREE"), PATH_MAX); + strncat(real_filename, filename, + PATH_MAX - strlen(real_filename)); sym = add_new_file(filename); - fp = fopen(filename, "r"); + fp = fopen(real_filename, "r"); if (fp == NULL) { fprintf(stderr, "docproc: "); - perror(filename); + perror(real_filename); + exit(1); } while(fgets(line, MAXLINESZ, fp)) { char *p; @@ -238,7 +250,7 @@ void intfunc(char * filename) { docfunctions(filename, NOFUNCTION); } void extfunc(char * filename) { docfunctions(filename, FUNCTION); } /* - * Document spÄecific function(s) in a file. + * Document specific function(s) in a file. * Call kernel-doc with the following parameters: * kernel-doc -docbook -function function1 [-function function2] */