diff --git a/fontforge-20090923-rel-path.patch b/fontforge-20090923-rel-path.patch new file mode 100644 index 0000000..c1dc22e --- /dev/null +++ b/fontforge-20090923-rel-path.patch @@ -0,0 +1,47 @@ +diff -Nur fontforge-20090923.orig/gutils/fsys.c fontforge-20090923/gutils/fsys.c +--- fontforge-20090923.orig/gutils/fsys.c 2009-01-25 11:06:49.000000000 -0700 ++++ fontforge-20090923/gutils/fsys.c 2009-12-31 09:59:54.000000000 -0700 +@@ -41,6 +41,15 @@ + + static char dirname_[1024]; + ++static void savestrcpy(char *dest,const char *src) { ++ forever { ++ *dest = *src; ++ if ( *dest=='\0' ) ++ break; ++ ++dest; ++src; ++ } ++} ++ + char *GFileGetAbsoluteName(char *name, char *result, int rsiz) { + /* result may be the same as name */ + char buffer[1000]; +@@ -62,13 +71,13 @@ + if ( *spt=='/' ) ++spt; + for ( pt = spt; *pt!='\0' && *pt!='/'; ++pt ); + if ( pt==spt ) /* Found // in a path spec, reduce to / (we've*/ +- strcpy(spt,pt); /* skipped past the :// of the machine name) */ +- else if ( pt==spt+1 && spt[0]=='.' ) /* Noop */ +- strcpy(spt,pt); +- else if ( pt==spt+2 && spt[0]=='.' && spt[1]=='.' ) { ++ savestrcpy(spt,spt+1); /* skipped past the :// of the machine name) */ ++ else if ( pt==spt+1 && spt[0]=='.' ) { /* Noop */ ++ savestrcpy(spt,spt+2); ++ } else if ( pt==spt+2 && spt[0]=='.' && spt[1]=='.' ) { + for ( bpt=spt-2 ; bpt>rpt && *bpt!='/'; --bpt ); + if ( bpt>=rpt && *bpt=='/' ) { +- strcpy(bpt,pt); ++ savestrcpy(bpt,pt); + spt = bpt; + } else { + rpt = pt; +@@ -99,7 +108,7 @@ + + if ( dir==NULL || *dir=='\0' ) { + if ( strlen( fname ) /dev/null || : %{_libdir}/pkgconfig/*.pc %changelog +* Wed Dec 30 2009 Kevin Fenzi - 20090923-2 +- Add patch to fix relative paths for fontlint (fixes #530760) + * Sun Nov 01 2009 Kevin Fenzi - 20090923-1 - Upgrade to 20090923