~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to storage/archive/archive_reader.c

Moved sql_common.h and my_time.h to libdrizzle.

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
#include <mystrings/m_ctype.h>
7
7
#include <mystrings/m_string.h>
8
8
#include <mysys/my_getopt.h>
 
9
#include <drizzle_version.h>
 
10
 
 
11
#define BUFFER_LEN 1024
 
12
#define ARCHIVE_ROW_HEADER_SIZE 4
9
13
 
10
14
#define SHOW_VERSION "0.1"
11
15
 
35
39
    return 0;
36
40
  }
37
41
 
38
 
  if (!(ret= azopen(&reader_handle, argv[0], O_RDONLY, AZ_METHOD_BLOCK)))
 
42
  if (!(ret= azopen(&reader_handle, argv[0], O_RDONLY|O_BINARY, AZ_METHOD_BLOCK)))
39
43
  {
40
44
    printf("Could not open Archive file\n");
41
45
    return 0;
58
62
      new_auto_increment_value= reader_handle.auto_increment + 1;
59
63
    }
60
64
 
61
 
    if (!(ret= azopen(&writer_handle, argv[0], O_CREAT|O_RDWR, 
 
65
    if (!(ret= azopen(&writer_handle, argv[0], O_CREAT|O_RDWR|O_BINARY, 
62
66
                      AZ_METHOD_BLOCK)))
63
67
    {
64
68
      printf("Could not open file for update: %s\n", argv[0]);
149
153
    }
150
154
 
151
155
 
152
 
    if (!(ret= azopen(&writer_handle, argv[1], O_CREAT|O_RDWR,
 
156
    if (!(ret= azopen(&writer_handle, argv[1], O_CREAT|O_RDWR|O_BINARY,
153
157
                      AZ_METHOD_BLOCK)))
154
158
    {
155
159
      printf("Could not open file for backup: %s\n", argv[1]);
163
167
      ptr= (char *)my_malloc(sizeof(char) * reader_handle.frm_length, MYF(0));
164
168
      azread_frm(&reader_handle, ptr);
165
169
      azwrite_frm(&writer_handle, ptr, reader_handle.frm_length);
166
 
      free(ptr);
 
170
      my_free(ptr, MYF(0));
167
171
    }
168
172
 
169
173
    if (reader_handle.comment_length)
172
176
      ptr= (char *)my_malloc(sizeof(char) * reader_handle.comment_length, MYF(0));
173
177
      azread_comment(&reader_handle, ptr);
174
178
      azwrite_comment(&writer_handle, ptr, reader_handle.comment_length);
175
 
      free(ptr);
 
179
      my_free(ptr, MYF(0));
176
180
    }
177
181
 
178
182
    while ((read= azread_row(&reader_handle, &error)))
204
208
  {
205
209
    File frm_file;
206
210
    char *ptr;
207
 
    frm_file= my_open(argv[1], O_CREAT|O_RDWR, MYF(0));
 
211
    frm_file= my_open(argv[1], O_CREAT|O_RDWR|O_BINARY, MYF(0));
208
212
    ptr= (char *)my_malloc(sizeof(char) * reader_handle.frm_length, MYF(0));
209
213
    azread_frm(&reader_handle, ptr);
210
 
    my_write(frm_file, (unsigned char*) ptr, reader_handle.frm_length, MYF(0));
 
214
    my_write(frm_file, (uchar*) ptr, reader_handle.frm_length, MYF(0));
211
215
    my_close(frm_file, MYF(0));
212
 
    free(ptr);
 
216
    my_free(ptr, MYF(0));
213
217
  }
214
218
 
215
219
end:
310
314
       license\n");
311
315
  puts("Read and modify Archive files directly\n");
312
316
  printf("Usage: %s [OPTIONS] file_to_be_looked_at [file_for_backup]\n", my_progname);
313
 
  print_defaults("drizzle", load_default_groups);
 
317
  print_defaults("my", load_default_groups);
314
318
  my_print_help(my_long_options);
315
319
}
316
320
 
317
321
static void print_version(void)
318
322
{
319
 
  printf("%s  Ver %s, for %s (%s)\n", my_progname, SHOW_VERSION,
320
 
         SYSTEM_TYPE, MACHINE_TYPE);
 
323
  printf("%s  Ver %s Distrib %s, for %s (%s)\n", my_progname, SHOW_VERSION,
 
324
         MYSQL_SERVER_VERSION, SYSTEM_TYPE, MACHINE_TYPE);
321
325
}
322
326
 
323
327
static void get_options(int *argc, char ***argv)
324
328
{
325
 
  load_defaults("drizzle", load_default_groups, argc, argv);
 
329
  load_defaults("my", load_default_groups, argc, argv);
326
330
  default_argv= *argv;
327
331
 
328
332
  handle_options(argc, argv, my_long_options, get_one_option);