mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

41 lines
1.4 KiB

/*
* --- ROCK-COPYRIGHT-NOTE-BEGIN ---
*
* This copyright note is auto-generated by ./scripts/Create-CopyPatch.
* Please add additional copyright information _after_ the line containing
* the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
* the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
*
* ROCK Linux: rock-src/misc/tools-source/getdu.c
* ROCK Linux is Copyright (C) 1998 - 2006 Clifford Wolf
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version. A copy of the GNU General Public
* License can be found at Documentation/COPYING.
*
* Many people helped and are helping developing ROCK Linux. Please
* have a look at http://www.rocklinux.org/ and the Documentation/TEAM
* file for details.
*
* --- ROCK-COPYRIGHT-NOTE-END ---
*/
#include <stdio.h>
#include <sys/stat.h>
#include <unistd.h>
int main(int argc, char ** argv) {
int size=0;
char fn[512];
struct stat st;
if (argc > 1) chdir(argv[1]);
while ( scanf("%*s %s",fn) == 1 ) {
if ( lstat(fn,&st) ) continue;
if ( S_ISREG(st.st_mode) ) size+=st.st_size;
size+=512; /* Every file has 512 bytes metadata ... :-) */
}
printf("%.2f MB\n",size/1048576.0 + 0.01);
return 0;
}