~ubuntu-branches/ubuntu/saucy/fdclone/saucy-proposed

« back to all changes in this revision

Viewing changes to unixdisk.c

  • Committer: Package Import Robot
  • Author(s): Elías Alejandro Año Mendoza
  • Date: 2013-03-31 20:19:19 UTC
  • mfrom: (1.1.5)
  • Revision ID: package-import@ubuntu.com-20130331201919-vd2f75ssuh1sdctw
Tags: 3.01-1
* New upstream release
* Updated Standard-Version to 3.9.4
* Bump debhelper to 9
* debian/rules enabled hardening build flags

Show diffs side-by-side

added added

removed removed

Lines of Context:
1821
1821
        for (i = 0; from[i]; i++) if (from[i] != to[i]) break;
1822
1822
        if (!strdelim(&(from[i]), 0) && !strdelim(&(to[i]), 0)) return(-1);
1823
1823
 
1824
 
        if (unixmkdir(to, 0666) < 0) return(-1);
 
1824
        if (unixmkdir(to, 0777) < 0) return(-1);
1825
1825
        if (!(dirp = unixopendir(from))) {
1826
 
                unixrmdir(to);
 
1826
                VOID_C unixrmdir(to);
1827
1827
                return(-1);
1828
1828
        }
1829
1829
        i = strlen(from);
2059
2059
# ifndef        _NODOSDRIVE
2060
2060
        if (i == -2) {
2061
2061
                if (dosstatfs(drive, tmp) < 0) return(-1);
2062
 
                buf -> f_bsize = *((u_long *)&(tmp[0 * sizeof(long)]));
2063
 
                buf -> f_blocks = *((u_long *)&(tmp[1 * sizeof(long)]));
2064
 
                buf -> f_bfree =
2065
 
                buf -> f_bavail = *((u_long *)&(tmp[2 * sizeof(long)]));
 
2062
                buf -> Xf_bsize = *((u_long *)&(tmp[0 * sizeof(long)]));
 
2063
                buf -> Xf_blocks = *((u_long *)&(tmp[1 * sizeof(long)]));
 
2064
                buf -> Xf_bfree =
 
2065
                buf -> Xf_bavail = *((u_long *)&(tmp[2 * sizeof(long)]));
2066
2066
        }
2067
2067
        else
2068
2068
# endif
2081
2081
# ifdef DJGPP
2082
2082
                dosmemget(__tb, sizeof(fsbuf), &fsbuf);
2083
2083
# endif
2084
 
                buf -> f_bsize = (u_long)fsbuf.f_clustsize
 
2084
                buf -> Xf_bsize = (u_long)fsbuf.f_clustsize
2085
2085
                        * (long)fsbuf.f_sectsize;
2086
 
                buf -> f_blocks = (u_long)fsbuf.f_blocks;
2087
 
                buf -> f_bfree =
2088
 
                buf -> f_bavail = (u_long)fsbuf.f_bavail;
 
2086
                buf -> Xf_blocks = (u_long)fsbuf.f_blocks;
 
2087
                buf -> Xf_bfree =
 
2088
                buf -> Xf_bavail = (u_long)fsbuf.f_bavail;
2089
2089
        }
2090
2090
        else
2091
2091
#endif  /* !_NOUSELFN */
2095
2095
                int21call(&reg, &sreg);
2096
2096
                if (reg.x.ax == 0xffff) return(seterrno(ENOENT));
2097
2097
 
2098
 
                buf -> f_bsize = (u_long)(reg.x.ax) * (u_long)(reg.x.cx);
2099
 
                buf -> f_blocks = (u_long)(reg.x.dx);
2100
 
                buf -> f_bfree =
2101
 
                buf -> f_bavail = (u_long)(reg.x.bx);
 
2098
                buf -> Xf_bsize = (u_long)(reg.x.ax) * (u_long)(reg.x.cx);
 
2099
                buf -> Xf_blocks = (u_long)(reg.x.dx);
 
2100
                buf -> Xf_bfree =
 
2101
                buf -> Xf_bavail = (u_long)(reg.x.bx);
2102
2102
        }
2103
2103
 
2104
 
        if (!(buf -> f_blocks) || !(buf -> f_bsize)
2105
 
        || buf -> f_blocks < buf -> f_bavail)
 
2104
        if (!(buf -> Xf_blocks) || !(buf -> Xf_bsize)
 
2105
        || buf -> Xf_blocks < buf -> Xf_bavail)
2106
2106
                return(seterrno(EIO));
2107
 
        buf -> f_files = -1L;
 
2107
        buf -> Xf_files = -1L;
2108
2108
 
2109
2109
        return(0);
2110
2110
}