aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/basic/docproc.c22
-rw-r--r--scripts/basic/fixdep.c4
-rw-r--r--scripts/kconfig/confdata.c3
-rw-r--r--scripts/kconfig/mconf.c2
-rw-r--r--scripts/kconfig/zconf.l3
-rw-r--r--scripts/kconfig/zconf.y6
6 files changed, 23 insertions, 17 deletions
diff --git a/scripts/basic/docproc.c b/scripts/basic/docproc.c
index dc7a0fcd2..ef5181226 100644
--- a/scripts/basic/docproc.c
+++ b/scripts/basic/docproc.c
@@ -79,7 +79,9 @@ void exec_kernel_doc(char **svec)
79{ 79{
80 pid_t pid; 80 pid_t pid;
81 int ret; 81 int ret;
82 char real_filename[PATH_MAX + 1]; 82 char *real_filename;
83 int rflen;
84
83 /* Make sure output generated so far are flushed */ 85 /* Make sure output generated so far are flushed */
84 fflush(stdout); 86 fflush(stdout);
85 switch(pid=fork()) { 87 switch(pid=fork()) {
@@ -87,10 +89,11 @@ void exec_kernel_doc(char **svec)
87 perror("fork"); 89 perror("fork");
88 exit(1); 90 exit(1);
89 case 0: 91 case 0:
90 memset(real_filename, 0, sizeof(real_filename)); 92 rflen = strlen(getenv("SRCTREE"));
91 strncat(real_filename, getenv("SRCTREE"), PATH_MAX); 93 rflen += strlen(KERNELDOCPATH KERNELDOC);
92 strncat(real_filename, KERNELDOCPATH KERNELDOC, 94 real_filename = alloca(rflen + 1);
93 PATH_MAX - strlen(real_filename)); 95 strcpy(real_filename, getenv("SRCTREE"));
96 strcat(real_filename, KERNELDOCPATH KERNELDOC);
94 execvp(real_filename, svec); 97 execvp(real_filename, svec);
95 fprintf(stderr, "exec "); 98 fprintf(stderr, "exec ");
96 perror(real_filename); 99 perror(real_filename);
@@ -166,11 +169,10 @@ void find_export_symbols(char * filename)
166 struct symfile *sym; 169 struct symfile *sym;
167 char line[MAXLINESZ]; 170 char line[MAXLINESZ];
168 if (filename_exist(filename) == NULL) { 171 if (filename_exist(filename) == NULL) {
169 char real_filename[PATH_MAX + 1]; 172 int rflen = strlen(getenv("SRCTREE")) + strlen(filename);
170 memset(real_filename, 0, sizeof(real_filename)); 173 char *real_filename = alloca(rflen + 1);
171 strncat(real_filename, getenv("SRCTREE"), PATH_MAX); 174 strcpy(real_filename, getenv("SRCTREE"));
172 strncat(real_filename, filename, 175 strcat(real_filename, filename);
173 PATH_MAX - strlen(real_filename));
174 sym = add_new_file(filename); 176 sym = add_new_file(filename);
175 fp = fopen(real_filename, "r"); 177 fp = fopen(real_filename, "r");
176 if (fp == NULL) 178 if (fp == NULL)
diff --git a/scripts/basic/fixdep.c b/scripts/basic/fixdep.c
index 6d61044c4..bbb575cec 100644
--- a/scripts/basic/fixdep.c
+++ b/scripts/basic/fixdep.c
@@ -203,7 +203,7 @@ void clear_config(void)
203 */ 203 */
204void use_config(char *m, int slen) 204void use_config(char *m, int slen)
205{ 205{
206 char s[PATH_MAX]; 206 char *s = alloca(slen+1);
207 char *p; 207 char *p;
208 208
209 if (is_defined_config(m, slen)) 209 if (is_defined_config(m, slen))
@@ -310,7 +310,7 @@ void parse_dep_file(void *map, size_t len)
310 char *m = map; 310 char *m = map;
311 char *end = m + len; 311 char *end = m + len;
312 char *p; 312 char *p;
313 char s[PATH_MAX]; 313 char *s = alloca(len);
314 314
315 p = memchr(m, ':', len); 315 p = memchr(m, ':', len);
316 if (!p) { 316 if (!p) {
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index 9365a12c2..4f83fbfa2 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -70,12 +70,13 @@ static char *conf_expand_value(const char *in)
70char *conf_get_default_confname(void) 70char *conf_get_default_confname(void)
71{ 71{
72 struct stat buf; 72 struct stat buf;
73 static char fullname[PATH_MAX+1]; 73 static char *fullname = NULL;
74 char *env, *name; 74 char *env, *name;
75 75
76 name = conf_expand_value(conf_defname); 76 name = conf_expand_value(conf_defname);
77 env = getenv(SRCTREE); 77 env = getenv(SRCTREE);
78 if (env) { 78 if (env) {
79 fullname = realloc(fullname, strlen(env) + strlen(name) + 2);
79 sprintf(fullname, "%s/%s", env, name); 80 sprintf(fullname, "%s/%s", env, name);
80 if (!stat(fullname, &buf)) 81 if (!stat(fullname, &buf))
81 return fullname; 82 return fullname;
diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c
index 647ec09f1..0c548bfc0 100644
--- a/scripts/kconfig/mconf.c
+++ b/scripts/kconfig/mconf.c
@@ -258,7 +258,7 @@ search_help[] = N_(
258 258
259static char buf[4096], *bufptr = buf; 259static char buf[4096], *bufptr = buf;
260static char input_buf[4096]; 260static char input_buf[4096];
261static char filename[PATH_MAX+1] = ".config"; 261static const char filename[] = ".config";
262static char *args[1024], **argptr = args; 262static char *args[1024], **argptr = args;
263static int indent; 263static int indent;
264static struct termios ios_org; 264static struct termios ios_org;
diff --git a/scripts/kconfig/zconf.l b/scripts/kconfig/zconf.l
index d839577ca..6a58b80d3 100644
--- a/scripts/kconfig/zconf.l
+++ b/scripts/kconfig/zconf.l
@@ -265,13 +265,14 @@ static void zconf_endhelp(void)
265 */ 265 */
266FILE *zconf_fopen(const char *name) 266FILE *zconf_fopen(const char *name)
267{ 267{
268 char *env, fullname[PATH_MAX+1]; 268 char *env;
269 FILE *f; 269 FILE *f;
270 270
271 f = fopen(name, "r"); 271 f = fopen(name, "r");
272 if (!f && name[0] != '/') { 272 if (!f && name[0] != '/') {
273 env = getenv(SRCTREE); 273 env = getenv(SRCTREE);
274 if (env) { 274 if (env) {
275 char *fullname = alloca(strlen(env) + strlen(name) + 2);
275 sprintf(fullname, "%s/%s", env, name); 276 sprintf(fullname, "%s/%s", env, name);
276 f = fopen(fullname, "r"); 277 f = fopen(fullname, "r");
277 } 278 }
diff --git a/scripts/kconfig/zconf.y b/scripts/kconfig/zconf.y
index 0a7a79664..2007a4e02 100644
--- a/scripts/kconfig/zconf.y
+++ b/scripts/kconfig/zconf.y
@@ -14,8 +14,6 @@
14#define LKC_DIRECT_LINK 14#define LKC_DIRECT_LINK
15#include "lkc.h" 15#include "lkc.h"
16 16
17#include "zconf.hash.c"
18
19#define printd(mask, fmt...) if (cdebug & (mask)) printf(fmt) 17#define printd(mask, fmt...) if (cdebug & (mask)) printf(fmt)
20 18
21#define PRINTD 0x0001 19#define PRINTD 0x0001
@@ -99,6 +97,10 @@ static struct menu *current_menu, *current_entry;
99 menu_end_menu(); 97 menu_end_menu();
100} if_entry menu_entry choice_entry 98} if_entry menu_entry choice_entry
101 99
100%{
101#include "zconf.hash.c"
102%}
103
102%% 104%%
103input: stmt_list; 105input: stmt_list;
104 106