root/examples/libsmbclient/testwrite.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. main

   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 
  11 int main(int argc, char * argv[]) 
     /* [<][>][^][v][top][bottom][index][help] */
  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     printf("CAUTION: This program will overwrite a file.  "
  29            "Press ENTER to continue.");
  30     fgets(buffer, sizeof(buffer), stdin);
  31            
  32 
  33     for (;;)
  34     {
  35         fprintf(stdout, "\nPath: ");
  36         *path = '\0';
  37         fgets(path, sizeof(path) - 1, stdin);
  38         if (strlen(path) == 0)
  39         {
  40             return 0;
  41         }
  42 
  43         p = path + strlen(path) - 1;
  44         if (*p == '\n')
  45         {
  46             *p = '\0';
  47         }
  48     
  49         if ((fd = smbc_open(path, O_WRONLY | O_CREAT | O_TRUNC, 0)) < 0)
  50         {
  51             perror("smbc_open");
  52             continue;
  53         }
  54 
  55         strcpy(buffer, "Hello world\n");
  56 
  57         ret = smbc_write(fd, buffer, strlen(buffer));
  58         savedErrno = errno;
  59         smbc_close(fd);
  60 
  61         if (ret < 0)
  62         {
  63             errno = savedErrno;
  64             perror("write");
  65         }
  66     }
  67 
  68     return 0; 
  69 }

/* [<][>][^][v][top][bottom][index][help] */