2008-01-17 17:26:36 +03:00
# include <sys/types.h>
2022-08-17 11:51:06 +03:00
# include <stdio.h>
2008-01-17 17:26:36 +03:00
# include <unistd.h>
2022-08-17 11:51:06 +03:00
# include <string.h>
# include <time.h>
2008-01-17 17:26:36 +03:00
# include <errno.h>
2022-08-17 11:51:06 +03:00
# include <libsmbclient.h>
2008-01-17 17:26:36 +03:00
# include "get_auth_data_fn.h"
2022-08-17 11:51:06 +03:00
int main ( int argc , char * argv [ ] )
{
int fd ;
int ret ;
int debug = 0 ;
int savedErrno ;
char buffer [ 2048 ] ;
char path [ 2048 ] ;
char * p ;
2008-01-17 17:26:36 +03:00
2022-08-17 11:51:06 +03:00
smbc_init ( get_auth_data_fn , debug ) ;
2008-01-17 17:26:36 +03:00
2022-08-17 11:51:06 +03:00
printf ( " CAUTION: This program will overwrite a file. "
" Press ENTER to continue. " ) ;
p = fgets ( buffer , sizeof ( buffer ) , stdin ) ;
if ( p = = NULL ) {
fprintf ( stderr , " failed to read from stdin \n " ) ;
return 1 ;
}
2008-01-17 17:26:36 +03:00
2022-08-17 11:51:06 +03:00
for ( ; ; )
{
fprintf ( stdout , " \n Path: " ) ;
* path = ' \0 ' ;
p = fgets ( path , sizeof ( path ) - 1 , stdin ) ;
if ( p = = NULL ) {
fprintf ( stderr , " failed to read from stdin \n " ) ;
return 1 ;
}
if ( strlen ( path ) = = 0 )
{
return 0 ;
}
2008-01-17 17:26:36 +03:00
2022-08-17 11:51:06 +03:00
p = path + strlen ( path ) - 1 ;
if ( * p = = ' \n ' )
{
* p = ' \0 ' ;
}
2008-01-17 17:26:36 +03:00
2022-08-17 11:51:06 +03:00
if ( ( fd = smbc_open ( path , O_WRONLY | O_CREAT | O_TRUNC , 0 ) ) < 0 )
{
perror ( " smbc_open " ) ;
continue ;
}
snprintf ( buffer , sizeof ( buffer ) , " %s " , " Hello world \n " ) ;
ret = smbc_write ( fd , buffer , strlen ( buffer ) ) ;
savedErrno = errno ;
smbc_close ( fd ) ;
if ( ret < 0 )
{
errno = savedErrno ;
perror ( " write " ) ;
}
}
return 0 ;
2008-01-17 17:26:36 +03:00
}