Fossil

Diff
Login

Differences From Artifact [609b7e8d28]:

To Artifact [c9fe1974e9]:


1709
1710
1711
1712
1713
1714
1715
1716

1717
1718



1719
1720
1721
1722
1723
1724
1725
1709
1710
1711
1712
1713
1714
1715

1716
1717

1718
1719
1720
1721
1722
1723
1724
1725
1726
1727







-
+

-
+
+
+







** Return TRUE if the given filename is canonical.
**
** Canonical names are full pathnames using "/" not "\" and which
** contain no "/./" or "/../" terms.
*/
int file_is_canonical(const char *z){
  int i;
  if( z[0]!='/'
  if(
#if defined(_WIN32) || defined(__CYGWIN__)
    && (!fossil_isupper(z[0]) || z[1]!=':' || z[2]!='/')
    !fossil_isupper(z[0]) || z[1]!=':' || !fossil_isdirsep(z[2])
#else
    z[0]!='/'
#endif
  ) return 0;

  for(i=0; z[i]; i++){
    if( z[i]=='\\' ) return 0;
    if( z[i]=='/' ){
      if( z[i+1]=='.' ){