Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Vytautas Deinis IF-4/6 Ld3 2*/
- /* Failas: loginas_ld3.c */
- #include <stdio.h>
- #include <stdlib.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <fcntl.h>
- #include <unistd.h>
- #define SIZE 1048576
- int kp_test_open(const char *name);
- int kp_test_close(int fd);
- int kp_ftwinfo(const char *p, const struct stat *st, int fl, struct FTW *fbuf);
- int kp_test_open(const char *name){
- int dskr;
- dskr = open( name, O_RDONLY );
- if( dskr == -1 ){
- perror( name );
- exit(1);
- }
- return dskr;
- }
- int kp_test_close(int fd){
- int rv;
- rv = close( fd );
- if( rv != 0 ) perror ( "close() failed" );
- else puts( "closed" );
- return rv;
- }
- int kp_ftwinfo(const char *p, const struct stat *st, int fl, struct FTW *fbuf){
- int failo_vardas;
- int failo_dydis;
- // KAD PATIKRINTI AR FAILAS if(fl == FTW_F ) asdasd; else asdasd; // direktorijai FTW_D // jeigu truksta teisiu katalogui nuskaityti FTW_DNR
- if (stat(p, &st) == 0)
- failo_dydis=st.st_size;
- if(failo_dydis > SIZE) {
- int failo_vardas = open(p,O_RDWR | O_EXCL );
- if( failo_vardas == -1 )
- {
- perror("nepavyko atidaryti failo");
- return 1;
- }
- chmod(p, S_IRUSR);
- printf("File %s\n", p);
- close(p);;
- }
- return 0;
- }
- int main(int argc, char * Argv[])
- {
- printf( "(C) 2016 Vytautas Deinis, %s\n", __FILE__ );
- int f1, f2, f3, f4;
- int rv1;
- if( argc != 5 ){
- printf( "Naudojimas:\n %s failas_ar_katalogas\n", argv[0] );
- exit( 255 );
- }
- int i;
- for ( i = 1; i < 5; i++) {
- int f
- int rv;
- f = kp_test_open( argv[i] );
- rv = nftw( Argv[i], kp_ftwinfo, 50, 0 );
- if( rv == -1 ){
- perror( "nftw failed" );
- exit( 1 );
- }
- kp_test_close( f );
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment