1#include <sys/types.h> 2#include <stdio.h> 3#include <unistd.h> 4#include <string.h> 5#include <time.h> 6#include <errno.h> 7#include <libsmbclient.h> 8#include "get_auth_data_fn.h" 9 10 11int main(int argc, char * argv[]) 12{ 13 int i; 14 int fd; 15 int ret; 16 int debug = 0; 17 int mode = 0666; 18 int savedErrno; 19 char buffer[2048]; 20 char path[2048]; 21 char * p; 22 time_t t0; 23 time_t t1; 24 struct stat st; 25 26 smbc_init(get_auth_data_fn, debug); 27 28 for (;;) 29 { 30 fprintf(stdout, "Path: "); 31 *path = '\0'; 32 fgets(path, sizeof(path) - 1, stdin); 33 if (strlen(path) == 0) 34 { 35 return 0; 36 } 37 38 p = path + strlen(path) - 1; 39 if (*p == '\n') 40 { 41 *p = '\0'; 42 } 43 44 if ((fd = smbc_open(path, O_RDONLY, 0)) < 0) 45 { 46 perror("smbc_open"); 47 continue; 48 } 49 50 do 51 { 52 ret = smbc_read(fd, buffer, sizeof(buffer)); 53 savedErrno = errno; 54 if (ret > 0) fwrite(buffer, 1, ret, stdout); 55 } while (ret > 0); 56 57 smbc_close(fd); 58 59 if (ret < 0) 60 { 61 errno = savedErrno; 62 perror("read"); 63 } 64 } 65 66 return 0; 67} 68