diff options
Diffstat (limited to 'testsuite/libsmbclient/src/rename/rename_9.c')
-rw-r--r-- | testsuite/libsmbclient/src/rename/rename_9.c | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/testsuite/libsmbclient/src/rename/rename_9.c b/testsuite/libsmbclient/src/rename/rename_9.c new file mode 100644 index 0000000000..1c1876dbb0 --- /dev/null +++ b/testsuite/libsmbclient/src/rename/rename_9.c @@ -0,0 +1,68 @@ +#include <stdio.h> +#include <string.h> +#include <errno.h> +#include <libsmbclient.h> + +#define MAX_BUFF_SIZE 255 +char g_workgroup[MAX_BUFF_SIZE]; +char g_username[MAX_BUFF_SIZE]; +char g_password[MAX_BUFF_SIZE]; +char g_server[MAX_BUFF_SIZE]; +char g_share[MAX_BUFF_SIZE]; + + +void auth_fn(const char *server, const char *share, char *workgroup, int wgmaxlen, + char *username, int unmaxlen, char *password, int pwmaxlen) +{ + + strncpy(workgroup, g_workgroup, wgmaxlen - 1); + + strncpy(username, g_username, unmaxlen - 1); + + strncpy(password, g_password, pwmaxlen - 1); + + strcpy(g_server, server); + strcpy(g_share, share); + +} + +int main(int argc, char** argv) +{ + int err = -1; + int fd1 = 0; + char url[MAX_BUFF_SIZE]; + + bzero(g_workgroup,MAX_BUFF_SIZE); + bzero(url,MAX_BUFF_SIZE); + + if ( argc == 9 ) + { + strncpy( g_workgroup, argv[1], strlen(argv[1]) ); + strncpy( g_username, argv[2], strlen(argv[2]) ); + strncpy( g_password, argv[3], strlen(argv[3]) ); + strncpy( url, argv[6], strlen(argv[6]) ); + + smbc_init( auth_fn, 0 ); + fd1 = smbc_open( url, O_RDWR | O_CREAT, 0666 ); + smbc_close( fd1 ); + + smbc_mkdir( argv[7], 0700 ); + + strncpy( g_username, argv[4], strlen(argv[4]) ); + strncpy( g_password, argv[5], strlen(argv[5]) ); + + err = smbc_rename( url, argv[8] ); + + if ( err < 0 ) + err = 1; + + else + err = 0; + + + } + + return err; + +} + |