FreeBSD Bugzilla – Attachment 12490 Details for
Bug 24102
Fix for make(1) null suffixes after cleaning all suffixes
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 2.50 KB, created by
tmoestl
on 2001-01-06 12:10:01 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
tmoestl
Created:
2001-01-06 12:10:01 UTC
Size:
2.50 KB
patch
obsolete
>*** src/usr.bin/make/suff.c~ Sat Dec 2 21:24:38 2000 >--- src/usr.bin/make/suff.c Fri Jan 5 02:12:31 2001 >*************** >*** 460,467 **** > { > Lst_Concat (suffClean, sufflist, LST_CONCLINK); > sufflist = Lst_Init(FALSE); >! sNum = 0; > suffNull = emptySuff; > } > > /*- >--- 460,475 ---- > { > Lst_Concat (suffClean, sufflist, LST_CONCLINK); > sufflist = Lst_Init(FALSE); >! sNum = 1; > suffNull = emptySuff; >+ /* >+ * Clear suffNull's children list (the other suffixes are built new, but >+ * suffNull is used as is). >+ * NOFREE is used because all suffixes are are on the suffClean list. >+ * suffNull should not have parents. >+ */ >+ Lst_Destroy(suffNull->children, NOFREE); >+ suffNull->children = Lst_Init(FALSE); > } > > /*- >*************** >*** 714,733 **** > Suff *s = (Suff *) sp; > char *cp; > LstNode ln; >! Suff *s2; > > /* > * First see if it is a transformation from this suffix. > */ > cp = SuffStrIsPrefix(s->name, transform->name); > if (cp != (char *)NULL) { >! ln = Lst_Find(sufflist, (void *)cp, SuffSuffHasNameP); >! if (ln != NULL) { > /* > * Found target. Link in and return, since it can't be anything > * else. > */ >- s2 = (Suff *)Lst_Datum(ln); > SuffInsert(s2->children, s); > SuffInsert(s->parents, s2); > return(0); >--- 722,746 ---- > Suff *s = (Suff *) sp; > char *cp; > LstNode ln; >! Suff *s2 = NULL; > > /* > * First see if it is a transformation from this suffix. > */ > cp = SuffStrIsPrefix(s->name, transform->name); > if (cp != (char *)NULL) { >! if (cp[0] == '\0') /* null rule */ >! s2 = suffNull; >! else { >! ln = Lst_Find(sufflist, (void *)cp, SuffSuffHasNameP); >! if (ln != NULL) >! s2 = (Suff *)Lst_Datum(ln); >! } >! if (s2 != NULL) { > /* > * Found target. Link in and return, since it can't be anything > * else. > */ > SuffInsert(s2->children, s); > SuffInsert(s->parents, s2); > return(0); >*************** >*** 2359,2365 **** > void * s; > void * dummy; > { >! printf ("%s ", ((Suff *) s)->name); > return (dummy ? 0 : 0); > } > >--- 2372,2378 ---- > void * s; > void * dummy; > { >! printf ("`%s' ", ((Suff *) s)->name); > return (dummy ? 0 : 0); > } > >Next, the diff for -STABLE (ported by David Wolfskill); in case that it >gets munged somehow, it is also available at >http://www.tu-bs.de/~y0015675/make-stable.diff.
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 24102
: 12490 |
12491