Commit 345137c7 by Tom Tromey Committed by Tom Tromey

parse.y (read_import_dir): Use `|=', not `+=', to set `found'.

	* parse.y (read_import_dir): Use `|=', not `+=', to set `found'.
	When reading a zip file, only use strncmp if both strings are
	bigger than the buffer length.  Initialize `k' when looping
	through zip file.

From-SVN: r25439
parent a0153051
1999-02-25 Tom Tromey <tromey@cygnus.com>
* parse.y (read_import_dir): Use `|=', not `+=', to set `found'.
When reading a zip file, only use strncmp if both strings are
bigger than the buffer length. Initialize `k' when looping
through zip file.
1999-02-24 Tom Tromey <tromey@cygnus.com> 1999-02-24 Tom Tromey <tromey@cygnus.com>
* gjavah.c (struct namelet): New structure. * gjavah.c (struct namelet): New structure.
......
...@@ -2217,7 +2217,7 @@ static const short yycheck[] = { 3, ...@@ -2217,7 +2217,7 @@ static const short yycheck[] = { 3,
#define YYPURE 1 #define YYPURE 1
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line 3 "/usr/share/bison.simple" #line 3 "/usr/share/misc/bison.simple"
/* Skeleton output parser for bison, /* Skeleton output parser for bison,
Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
...@@ -2234,7 +2234,7 @@ static const short yycheck[] = { 3, ...@@ -2234,7 +2234,7 @@ static const short yycheck[] = { 3,
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* As a special exception, when this file is copied by Bison into a /* As a special exception, when this file is copied by Bison into a
Bison output file, you may use that output file without restriction. Bison output file, you may use that output file without restriction.
...@@ -2410,7 +2410,7 @@ __yy_memcpy (char *to, char *from, int count) ...@@ -2410,7 +2410,7 @@ __yy_memcpy (char *to, char *from, int count)
#endif #endif
#endif #endif
#line 196 "/usr/share/bison.simple" #line 196 "/usr/share/misc/bison.simple"
/* The user can define YYPARSE_PARAM as the name of an argument to be passed /* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *. into yyparse. The argument should have type void *.
...@@ -4675,7 +4675,7 @@ case 493: ...@@ -4675,7 +4675,7 @@ case 493:
break;} break;}
} }
/* the action file gets copied in in place of this dollarsign */ /* the action file gets copied in in place of this dollarsign */
#line 498 "/usr/share/bison.simple" #line 498 "/usr/share/misc/bison.simple"
yyvsp -= yylen; yyvsp -= yylen;
yyssp -= yylen; yyssp -= yylen;
...@@ -7620,15 +7620,16 @@ read_import_dir (wfl) ...@@ -7620,15 +7620,16 @@ read_import_dir (wfl)
} }
*filename->ptr++ = '/'; *filename->ptr++ = '/';
for (; k < zipf->count; k++, zipd = ZIPDIR_NEXT (zipd)) for (k = 0; k < zipf->count; k++, zipd = ZIPDIR_NEXT (zipd))
{ {
char *current_entry = ZIPDIR_FILENAME (zipd); char *current_entry = ZIPDIR_FILENAME (zipd);
int current_entry_len = zipd->filename_length; int current_entry_len = zipd->filename_length;
if (strncmp (filename->data, current_entry, if (current_entry_len >= BUFFER_LENGTH (filename)
BUFFER_LENGTH (filename)) != 0) && strncmp (filename->data, current_entry,
BUFFER_LENGTH (filename)) != 0)
continue; continue;
found += note_possible_classname (current_entry, found |= note_possible_classname (current_entry,
current_entry_len); current_entry_len);
} }
} }
...@@ -7661,7 +7662,7 @@ read_import_dir (wfl) ...@@ -7661,7 +7662,7 @@ read_import_dir (wfl)
len = strlen (direntp->d_name); len = strlen (direntp->d_name);
buffer_grow (filename, len+1); buffer_grow (filename, len+1);
strcpy (filename->ptr, d_name); strcpy (filename->ptr, d_name);
found += note_possible_classname (filename->data + entry_length, found |= note_possible_classname (filename->data + entry_length,
package_length+len+1); package_length+len+1);
} }
if (dirp) if (dirp)
......
...@@ -5018,15 +5018,16 @@ read_import_dir (wfl) ...@@ -5018,15 +5018,16 @@ read_import_dir (wfl)
} }
*filename->ptr++ = '/'; *filename->ptr++ = '/';
for (; k < zipf->count; k++, zipd = ZIPDIR_NEXT (zipd)) for (k = 0; k < zipf->count; k++, zipd = ZIPDIR_NEXT (zipd))
{ {
char *current_entry = ZIPDIR_FILENAME (zipd); char *current_entry = ZIPDIR_FILENAME (zipd);
int current_entry_len = zipd->filename_length; int current_entry_len = zipd->filename_length;
if (strncmp (filename->data, current_entry, if (current_entry_len >= BUFFER_LENGTH (filename)
BUFFER_LENGTH (filename)) != 0) && strncmp (filename->data, current_entry,
BUFFER_LENGTH (filename)) != 0)
continue; continue;
found += note_possible_classname (current_entry, found |= note_possible_classname (current_entry,
current_entry_len); current_entry_len);
} }
} }
...@@ -5059,7 +5060,7 @@ read_import_dir (wfl) ...@@ -5059,7 +5060,7 @@ read_import_dir (wfl)
len = strlen (direntp->d_name); len = strlen (direntp->d_name);
buffer_grow (filename, len+1); buffer_grow (filename, len+1);
strcpy (filename->ptr, d_name); strcpy (filename->ptr, d_name);
found += note_possible_classname (filename->data + entry_length, found |= note_possible_classname (filename->data + entry_length,
package_length+len+1); package_length+len+1);
} }
if (dirp) if (dirp)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment