Magellan Linux

Annotation of /trunk/glibc/patches/glibc-2.16.0-rpcgen-cpp-path.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1925 - (hide annotations) (download)
Sun Oct 28 19:05:24 2012 UTC (11 years, 6 months ago) by niro
File size: 1768 byte(s)
-more glibc-2.16 fixes
1 niro 1925 diff --git a/sunrpc/rpc_main.c b/sunrpc/rpc_main.c
2     index 06d951a..2103b10 100644
3     --- a/sunrpc/rpc_main.c
4     +++ b/sunrpc/rpc_main.c
5     @@ -75,12 +75,9 @@ struct commandline
6    
7     static const char *cmdname;
8    
9     -#define SVR4_CPP "/usr/ccs/lib/cpp"
10     -#define SUNOS_CPP "/lib/cpp"
11     -
12     static const char *svcclosetime = "120";
13     static int cppDefined; /* explicit path for C preprocessor */
14     -static const char *CPP = SUNOS_CPP;
15     +static const char *CPP = "/lib/cpp";
16     static const char CPPFLAGS[] = "-C";
17     static char *pathbuf;
18     static int cpp_pid;
19     @@ -327,23 +324,17 @@ find_cpp (void)
20     {
21     struct stat buf;
22    
23     - if (stat (CPP, &buf) < 0)
24     - { /* /lib/cpp or explicit cpp does not exist */
25     - if (cppDefined)
26     - {
27     - fprintf (stderr, _ ("cannot find C preprocessor: %s \n"), CPP);
28     - crash ();
29     - }
30     - else
31     - { /* try the other one */
32     - CPP = SVR4_CPP;
33     - if (stat (CPP, &buf) < 0)
34     - { /* can't find any cpp */
35     - fputs (_ ("cannot find any C preprocessor (cpp)\n"), stdout);
36     - crash ();
37     - }
38     - }
39     + if (stat (CPP, &buf) == 0)
40     + return;
41     +
42     + if (cppDefined) /* user specified cpp but it does not exist */
43     + {
44     + fprintf (stderr, _ ("cannot find C preprocessor: %s\n"), CPP);
45     + crash ();
46     }
47     +
48     + /* fall back to system CPP */
49     + CPP = "cpp";
50     }
51    
52     /*
53     @@ -374,8 +365,13 @@ open_input (const char *infile, const char *define)
54     close (1);
55     dup2 (pd[1], 1);
56     close (pd[0]);
57     - execv (arglist[0], (char **) arglist);
58     - perror ("execv");
59     + execvp (arglist[0], (char **) arglist);
60     + if (errno == ENOENT)
61     + {
62     + fprintf (stderr, _ ("cannot find C preprocessor: %s\n"), CPP);
63     + exit (1);
64     + }
65     + perror ("execvp");
66     exit (1);
67     case -1:
68     perror ("fork");