You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by rs...@hyperreal.org on 1998/03/27 11:06:55 UTC

cvs commit: apache-1.3/src/main gen_test_char.c gen_uri_delims.c util_uri.c Makefile.tmpl

rse         98/03/27 02:06:55

  Modified:    src/main gen_test_char.c gen_uri_delims.c util_uri.c
                        Makefile.tmpl
  Log:
  Dr. Cosmetics:
  
  - avoid gcc complains by define main as at the other places in the two new
    generation programs
  - make uri_delim as all-in-one as test_char (#include in the middle of a
    struct definition is a little bit ugly)
  - make the generated files readable even not editable
  - remove double-defined dependencies in Makefile.tmpl (because they are
    already part of the "make depend" generated list)
  
  PS: There seems to be another problem here: The files are
      generated in main/ and included with #include "...".
      Although we only have -I../include and -I../os/unix but
      not -I. ! Is it really portable for all compilers to
      assume the CWD is searched for #include "..." even
      if no -I. is used? I personally would change it so
      that the files are generated in ../include/. Comments?
  
  Revision  Changes    Path
  1.2       +7 -4      apache-1.3/src/main/gen_test_char.c
  
  Index: gen_test_char.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/main/gen_test_char.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- gen_test_char.c	1998/03/26 04:58:39	1.1
  +++ gen_test_char.c	1998/03/27 10:06:49	1.2
  @@ -9,7 +9,7 @@
   #define T_OS_ESCAPE_PATH	(0x04)
   #define T_HTTP_TOKEN_STOP	(0x08)
   
  -void main(void)
  +int main(int argc, char *argv[])
   {
       unsigned c;
       unsigned char flags;
  @@ -22,7 +22,7 @@
   "#define T_HTTP_TOKEN_STOP	(%u)\n"
   "\n"
   "static const unsigned char test_char_table[256] = {\n"
  -"0,\n",
  +"    0,",
   	T_ESCAPE_SHELL_CMD,
   	T_ESCAPE_PATH_SEGMENT,
   	T_OS_ESCAPE_PATH,
  @@ -33,6 +33,8 @@
   
       for (c = 1; c < 256; ++c) {
   	flags = 0;
  +	if (c % 20 == 0)
  +	    printf("\n    ");
   
   	/* escape_shell_cmd */
   	if (strchr("&;`'\"|*?~<>^()[]{}$\\\n", c)) {
  @@ -51,8 +53,9 @@
   	if (iscntrl(c) || strchr(" \t()<>@,;:\\/[]?={}", c)) {
   	    flags |= T_HTTP_TOKEN_STOP;
   	}
  -	printf("%u%c\n", flags, (c < 255) ? ',' : ' ');
  +	printf("%u%c", flags, (c < 255) ? ',' : ' ');
  +
       }
  -    printf("};\n");
  +    printf("\n};\n");
       exit(0);
   }
  
  
  
  1.2       +6 -2      apache-1.3/src/main/gen_uri_delims.c
  
  Index: gen_uri_delims.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/main/gen_uri_delims.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- gen_uri_delims.c	1998/03/26 04:58:39	1.1
  +++ gen_uri_delims.c	1998/03/27 10:06:51	1.2
  @@ -4,14 +4,17 @@
    * marked "interesting"... for the uri parsing process.
    */
   
  -void main(void)
  +int main(int argc, char *argv[])
   {
       int i;
       char *value;
   
       printf("/* this file is automatically generated by "
   	    "gen_uri_delims, do not edit */\n");
  +    printf("static const unsigned char uri_delims[256] = {");
       for (i = 0; i < 256; ++i) {
  +	if (i % 20 == 0)
  +	    printf("\n    ");
   	switch (i) {
   	case ':': 	value = "T_COLON";	break;
   	case '/': 	value = "T_SLASH";	break;
  @@ -20,7 +23,8 @@
   	case '\0': 	value = "T_NUL";	break;
   	default:	value = "0";		break;
   	}
  -	printf("%s%c\n", value, (i < 255) ? ',' : ' ');
  +	printf("%s%c", value, (i < 255) ? ',' : ' ');
       }
  +    printf("\n};\n");
       exit(0);
   }
  
  
  
  1.16      +0 -2      apache-1.3/src/main/util_uri.c
  
  Index: util_uri.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/main/util_uri.c,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- util_uri.c	1998/03/26 04:58:41	1.15
  +++ util_uri.c	1998/03/27 10:06:52	1.16
  @@ -393,9 +393,7 @@
   #define T_NUL		0x80	/* '\0' */
   
   /* the uri_delims.h file is autogenerated by gen_uri_delims.c */
  -static const unsigned char uri_delims[256] = {
   #include "uri_delims.h"
  -};
   
   /* it works like this:
       if (uri_delims[ch] & NOTEND_foobar) {
  
  
  
  1.21      +0 -4      apache-1.3/src/main/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/main/Makefile.tmpl,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- Makefile.tmpl	1998/03/26 04:58:39	1.20
  +++ Makefile.tmpl	1998/03/27 10:06:53	1.21
  @@ -36,15 +36,11 @@
   uri_delims.h: gen_uri_delims
   	./gen_uri_delims >uri_delims.h
   
  -util_uri.o: uri_delims.h
  -
   gen_uri_delims: gen_uri_delims.o
   	$(CC) $(CFLAGS) $(LDFLAGS) -o gen_uri_delims gen_uri_delims.o $(LIBS)
   
   test_char.h: gen_test_char
   	./gen_test_char >test_char.h
  -
  -util.o: test_char.h
   
   gen_test_char: gen_test_char.o
   	$(CC) $(CFLAGS) $(LDFLAGS) -o gen_test_char gen_test_char.o $(LIBS)
  
  
  

Re: cvs commit: apache-1.3/src/main gen_test_char.c gen_uri_delims.c util_uri.c Makefile.tmpl

Posted by Dean Gaudet <dg...@arctic.org>.

On 27 Mar 1998 rse@hyperreal.org wrote:

>   - make the generated files readable even not editable

I didn't bother because it's easier to get correct without worrying about
people reading output they shouldn't need to be reading.

>   PS: There seems to be another problem here: The files are
>       generated in main/ and included with #include "...".
>       Although we only have -I../include and -I../os/unix but
>       not -I. ! Is it really portable for all compilers to
>       assume the CWD is searched for #include "..." even
>       if no -I. is used? I personally would change it so
>       that the files are generated in ../include/. Comments?

No, please don't generate them outside of the directory they are used in. 
How would "make clean" work?  Are you sure that all makes will accept a
left-hand target which is out of the current directory?  They're an
extension of the C file that they're included in, they shouldn't be in a
common include directory. 

-I. is implicit, if it isn't the compiler is broken -- OR someone has used
-I- (gcc-lingo) in which case they deserve the brokenness they've created,
and should fix their CFLAGS.  Remember that in ages past, apache-1.2, we
used -Iregex and had absolutely no problems with stuff that was in the
current directory.

Dean