]> git.pld-linux.org Git - packages/mdf2iso.git/blob - mdf2iso-lfs.patch
- support for LARGE FILE SIZE
[packages/mdf2iso.git] / mdf2iso-lfs.patch
1 Only in mdf2iso/src: .deps
2 Only in mdf2iso.new/src: .kdbgrc.mdf2iso
3 diff -bur mdf2iso/src/Makefile.am mdf2iso.new/src/Makefile.am
4 --- mdf2iso/src/Makefile.am     2005-05-19 11:24:11.000000000 +0200
5 +++ mdf2iso.new/src/Makefile.am 2005-07-31 17:47:36.000000000 +0200
6 @@ -1,2 +1,3 @@
7  bin_PROGRAMS = mdf2iso
8  mdf2iso_SOURCES = mdf2iso.c
9 +AM_CFLAGS = -D_FILE_OFFSET_BITS=64 -Wall
10 diff -bur mdf2iso/src/Makefile.in mdf2iso.new/src/Makefile.in
11 --- mdf2iso/src/Makefile.in     2005-05-22 21:42:09.000000000 +0200
12 +++ mdf2iso.new/src/Makefile.in 2005-07-31 17:49:16.000000000 +0200
13 @@ -136,6 +136,7 @@
14  sysconfdir = @sysconfdir@
15  target_alias = @target_alias@
16  mdf2iso_SOURCES = mdf2iso.c
17 +AM_CFLAGS = -D_FILE_OFFSET_BITS=64 -Wall
18  all: all-am
19  
20  .SUFFIXES:
21 @@ -149,9 +150,9 @@
22               exit 1;; \
23           esac; \
24         done; \
25 -       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  src/Makefile'; \
26 +       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/Makefile'; \
27         cd $(top_srcdir) && \
28 -         $(AUTOMAKE) --foreign  src/Makefile
29 +         $(AUTOMAKE) --gnu  src/Makefile
30  .PRECIOUS: Makefile
31  Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
32         @case '$?' in \
33 diff -bur mdf2iso/src/mdf2iso.c mdf2iso.new/src/mdf2iso.c
34 --- mdf2iso/src/mdf2iso.c       2005-05-22 21:52:08.000000000 +0200
35 +++ mdf2iso.new/src/mdf2iso.c   2005-07-31 19:41:56.000000000 +0200
36 @@ -1,4 +1,4 @@
37 - /*  $Id: mdf2iso.c, 22/05/05 
38 +/*  $Id: mdf2iso.c, 22/05/05 
39  
40      Copyright (C) 2004,2005 Salvatore Santagati <salvatore.santagati@gmail.com>   
41  
42 @@ -16,19 +16,14 @@
43      along with this program; if not, write to the                         
44      Free Software Foundation, Inc.,                                       
45      59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.        
46 -  */
47 +*/
48  
49  #include <stdio.h>
50  #include <stdlib.h>
51  #include <string.h>
52  #include <errno.h>
53  
54 -#define VERSION "0.3.0"
55 -
56 -/* Support Large File */
57 -
58 -#define _FILE_OFFSET_BITS 64
59 -
60 +#define VERSION "0.3.1"
61  
62  
63  const char SYNC_HEADER[12] = { (char) 0x00,
64 @@ -83,14 +78,21 @@
65    (char) 0x00
66  };
67  
68 +#define ISO9660 0
69 +#define SYNC 1
70 +#define SYNC_MDF 2
71 +#define MDF_AUDIO 3
72 +#define UNKNOWN -1
73  
74 -void
75 -toc_file (char *destfilename, int sub)
76 +int toc_file (char *destfilename, int sub)
77  {
78 -  char destfiletoc[1024], destfiledat[1024];
79 +  int ret=0;
80 +  char *destfiletoc;
81 +  char *destfiledat;
82    FILE *ftoc;
83 -  strcpy (destfiletoc, destfilename);
84 -  strcpy (destfiledat, destfilename);
85 +  
86 +  destfiletoc=strdup(destfilename);
87 +  destfiledat=strdup(destfilename);
88    strcpy (destfiletoc + strlen (destfilename) - 4, ".toc");
89    strcpy (destfiledat + strlen (destfilename) - 4, ".dat");
90  
91 @@ -100,11 +102,8 @@
92        fprintf (ftoc, "// Track 1\n");
93        fprintf (ftoc, "TRACK MODE1_RAW");
94  
95 -      if (sub == 1)
96 -       fprintf (ftoc, " RW_RAW\n");
97 -
98 -      else
99 -       fprintf (ftoc, "\n");
100 +    if (sub == 1) fprintf (ftoc, " RW_RAW\n");
101 +    else fprintf (ftoc, "\n");
102  
103        fprintf (ftoc, "NO COPY\n");
104        fprintf (ftoc, "DATAFILE \"%s\"\n", destfiledat);
105 @@ -114,26 +113,27 @@
106      }
107    else
108      {
109 -      printf ("%s\n", strerror (errno));
110 -      exit (EXIT_FAILURE);
111 +    printf ("Error opening %s for output: %s\n",destfiletoc,strerror(errno));
112 +    ret=-1;
113      };
114 -
115 +  free(destfiletoc);
116 +  free(destfiledat);
117 +  return ret;
118  }
119  
120 -int
121 -number_file (char *destfilename)
122 +/*
123 +int number_file (char *destfilename)
124  {
125    int i = 1, test_mdf = 0;
126    int n_mdf;
127    char mdf[2], destfilemdf[2354];
128    FILE *fsource;
129 +  
130    strcpy (destfilemdf, destfilename);
131    strcpy (destfilemdf + strlen (destfilename) - 1, ".0");
132    for (i = 0; test_mdf == 0; i++)
133 -
134      {
135        if ((fsource = fopen (destfilemdf, "rb")) != NULL)
136 -
137         {
138           printf ("\nCheck : ");
139           sprintf (mdf, "md%d", i);
140 @@ -141,203 +141,219 @@
141           printf ("%s, ", destfilemdf);
142           fclose (fsource);
143         }
144 -
145        else
146         {
147           test_mdf = 1;
148         }
149 -    };
150 +  }
151    printf ("\r                                   \n");
152    n_mdf = i - 1;
153    return (n_mdf);
154  }
155 +*/
156  
157 -void
158 -cuesheets (char *destfilename)
159 +int cuesheets (char *destfilename)
160  {
161 -  char destfilecue[1024], destfilebin[1024];
162 +  int ret=0;
163 +  char *destfilecue;
164 +  char *destfilebin;
165    FILE *fcue;
166 -  strcpy (destfilecue, destfilename);
167 -  strcpy (destfilebin, destfilename);
168 +  
169 +  destfilecue=strdup(destfilename);
170 +  destfilebin=strdup(destfilename);
171    strcpy (destfilecue + strlen (destfilename) - 4, ".cue");
172    strcpy (destfilebin + strlen (destfilename) - 4, ".bin");
173 -  fcue = fopen (destfilecue, "w");
174 +  if ((fcue = fopen (destfilecue, "w"))!=NULL)
175 +  {
176    fprintf (fcue, "FILE \"%s\" BINARY\n", destfilebin);
177    fprintf (fcue, "TRACK 1 MODE1/2352\n");
178    fprintf (fcue, "INDEX 1 00:00:00\n");
179    rename (destfilename, destfilebin);
180    printf ("Create Cuesheets : %s\n", destfilecue);
181    fclose (fcue);
182 +  }
183 +  else
184 +  {
185 +    printf ("Error opening %s for output: %s\n",destfilecue,strerror(errno));
186 +    ret=-1;
187 +  }
188 +  return ret;
189  }
190  
191 -void
192 -main_percent (int percent_bar)
193 +int previous_percent=-1;
194 +void main_percent (int percent_bar)
195 +// Prints a progress bar, takes a percentage as argument.
196  {
197 -  int progress_bar, progress_space;
198 +  //int progress_bar, progress_space;
199
200 +  if (percent_bar==previous_percent) return;  // Nothing changed, don't waste CPU cycles.
201 +  
202 +  printf("%3d%% [:%.*s>%.*s:]\r",percent_bar,20-(percent_bar/5),"                    ",
203 +                                                  percent_bar/5,"====================");
204 +  /*
205    printf ("%d%% [:", percent_bar);
206 -  for (progress_bar = 1; progress_bar <= (int) (percent_bar / 5);
207 -       progress_bar++)
208 +  for (progress_bar = 1; progress_bar <= (int) (percent_bar / 5); progress_bar++)
209      printf ("=");
210    printf (">");
211  
212 -  for (progress_space = 0; progress_space < (20 - progress_bar);
213 -       progress_space++)
214 -    printf (" ");
215 +  for (; progress_bar <= 20; ++progress_bar) printf (" ");
216    printf (":]\r");
217 +  */
218  }
219  
220 -void
221 -usage ()
222 +void usage ()
223 +// Prints the command line syntax
224  {
225 -  printf ("mdf2iso v%s by Salvatore Santagati\n", VERSION);
226 -  printf ("Web     : http//mdf2iso.berlios.de\n");
227 -  printf ("Email   : salvatore.santagati@gmail.com\n");
228 -  printf ("Irc     : irc.freenode.net #ignus\n");
229 -  printf ("Note        : iodellavitanonhocapitouncazzo\n");
230 -  printf ("License : released under the GNU GPL v2 or later\n\n");
231 +  printf (" Web     : http//mdf2iso.berlios.de\n");
232 +  printf (" Email   : salvatore.santagati@gmail.com\n");
233 +  printf (" Irc     : irc.freenode.net #ignus\n");
234 +  printf (" Note    : iodellavitanonhocapitouncazzo\n\n");
235    printf ("Usage :\n");
236 -  printf ("mdf2iso [OPTION] [BASENAME.MDF] [DESTINATION]\n\n");
237 -  printf ("OPTION\n");
238 -  printf ("\t--toc    Generate toc file\n");
239 -  printf ("\t--cue    Generate cue file\n");
240 -  printf ("\t--help   display this notice\n\n");
241 +  printf ("mdf2iso [--cue|--toc|--help] <sourcefile> [destfile]\n\n");
242 +  printf ("Options:\n");
243 +  printf ("  --toc    Generate toc/dat files\n");
244 +  printf ("  --cue    Generate cue/bin files\n");
245 +  printf ("  --help   Display this notice\n");
246 +  printf (" sourcefile\tFilename of the .mdf file to be converted\n");
247 +  printf (" destfile\tFilename of the target ISO9660 file.\n"\
248 +          "\t\tIf none given, one is derived from sourcefile.\n\n");
249  }
250  
251 -int
252 -main (int argc, char **argv)
253 +char mdftype(FILE *f)
254 +/* returns 
255 +   -1 for unknown
256 +   0 for ISO9660
257 +   1 for SYNC
258 +   2 for SYNC MDF
259 +   3 for MDF Audio
260 +   (see #defines above)
261 +*/
262  {
263 -  int seek_ecc, sector_size, seek_head, sector_data, n_mdf;
264 +  char buf[12];
265 +  
266 +  fseek(f, 32768, SEEK_SET);
267 +  fread(buf, sizeof (char), 8, f);
268 +  if (!memcmp (ISO_9660, buf, 8)) return ISO9660; // File is ISO9660
269 +  
270 +  fseek(f, 0L, SEEK_SET);
271 +  fread(buf, sizeof (char), 12, f);
272 +  
273 +  fseek (f, 2352, SEEK_SET);
274 +  
275 +  if (!memcmp (SYNC_HEADER, buf, 12))  // Has SYNC_HEADER
276 +  {
277 +    fread (buf, sizeof (char), 12, f);
278 +    if (!memcmp (SYNC_HEADER_MDF, buf, 12)) return SYNC_MDF;   // File is SYNC MDF
279 +    if (!memcmp (SYNC_HEADER, buf, 12)) return SYNC;       // File is SYNC
280 +  }
281 +  else  // Does not have SYNC_HEADER
282 +  {
283 +    fread(buf, sizeof (char), 12, f);
284 +    if (!memcmp (SYNC_HEADER_MDF_AUDIO, buf, 12)) return MDF_AUDIO; // File is MDF Audio
285 +  }
286 +
287 +  // Reached a point where nothing else matters.  
288 +  return UNKNOWN;  // Unknown format
289 +}
290 +
291 +
292 +// === Main program code ===
293 +
294 +int main (int argc, char **argv)
295 +{
296 +  int seek_ecc, sector_size, seek_head, sector_data;//, n_mdf;
297    int cue = 0, cue_mode = 0, sub = 1, toc = 0, sub_toc = 0;
298    int opts = 0;
299 -  double size_iso, write_iso;
300 -  long percent = 0;
301 -  long i, source_length, progressbar;
302 -  char buf[2448], destfilename[2354];
303 +  long i, source_length;
304 +  char buf[2448];
305 +  char *destfilename=NULL;
306 +  char *basefilename=NULL;
307    FILE *fdest, *fsource;
308  
309 +  // Print identification
310 +  printf ("mdf2iso v%s by Salvatore Santagati\n", VERSION);
311 +  printf ("Licensed under GPL v2 or later\n");
312  
313 -  if (argc < 2)
314  
315 +  // *** Process command line options ***
316 +  
317 +  if (argc < 2)
318      {
319 -      usage ();
320 -      exit (EXIT_FAILURE);
321 +    // Not enough parameters; print help
322 +    usage();
323 +    exit(EXIT_FAILURE);
324      }
325  
326 -  else
327 -
328 -    {
329 +  // Search for options --cue and --toc
330        for (i = 0; i < argc; i++)
331 -
332         {
333 -
334           if (!strcmp (argv[i], "--help"))
335 -
336             {
337               usage ();
338               exit (EXIT_SUCCESS);
339             }
340           if (!strcmp (argv[i], "--cue"))
341 -
342             {
343               cue = 1;
344               opts++;
345             }
346           if (!strcmp (argv[i], "--toc"))
347 -
348             {
349               toc = 1;
350               opts++;
351             }
352         }
353  
354 -      if ((cue == 1) && (toc == 1))
355 -
356 -       {
357 -         usage ();
358 -         exit (EXIT_FAILURE);
359 -       }
360 -      if ((opts == 1) && (argc <= 2))
361 -
362 +  // Catch impossible parameter combinations
363 +  if (((cue == 1) && (toc == 1)) ||
364 +     ((opts == 1) && (argc <= 2)))
365         {
366 -         usage ();
367 -         exit (EXIT_FAILURE);
368 +    usage();
369 +    exit(EXIT_FAILURE);
370         }
371  
372 +  // Get the base filename
373 +  basefilename=argv[1+opts];  // simple pointer, but makes life easier.
374  
375 +  // Get the destination filename
376        if (argc >= (3 + opts))
377 -       strcpy (destfilename, argv[2 + opts]);
378 -
379 -      else
380 -
381 -       {
382 -         strcpy (destfilename, argv[1 + opts]);
383 -         if (strlen (argv[1 + cue]) < 5
384 -             || strcmp (destfilename + strlen (argv[1 + opts]) - 4, ".mdf"))
385 -           strcpy (destfilename + strlen (argv[1 + opts]), ".iso");
386 -
387 +    // The destination filename is explicitly entered at the prompt
388 +    destfilename=strdup(argv[2 + opts]);
389           else
390 -           strcpy (destfilename + strlen (argv[1 + opts]) - 4, ".iso");
391 -       }
392 -      if ((fsource = fopen (argv[1 + opts], "rb")) != NULL)
393 -
394         {
395 -         fseek (fsource, 32768, SEEK_CUR);
396 -         fread (buf, sizeof (char), 8, fsource);
397 -         if (memcmp (ISO_9660, buf, 8))
398 -
399 +    // Derive destination filename from the basename:
400 +    //  If basename is "*.mdf" use "*.iso" als destname
401 +    //  otherwise simply append ".iso" to the basename to create destname.
402 +    destfilename=strdup(basefilename);
403 +    i=strlen(destfilename);  // Reusing 'i' here as temporary variable
404 +    if (i < 5 || strcmp(destfilename + i - 4, ".mdf"))
405             {
406 -             fseek (fsource, 0L, SEEK_SET);
407 -             fread (buf, sizeof (char), 12, fsource);
408 -             if (!memcmp (SYNC_HEADER, buf, 12))
409 -
410 -               {
411 -                 fseek (fsource, 0L, SEEK_SET);
412 -                 fseek (fsource, 2352, SEEK_CUR);
413 -                 fread (buf, sizeof (char), 12, fsource);
414 -                 if (!memcmp (SYNC_HEADER_MDF, buf, 12))
415 -
416 -                   {
417 -                     if (cue == 1)
418 -                       {
419 -                         cue_mode = 1;
420 -
421 -                         /* BAD SECTOR TO NORMAL IMAGE */
422 -                         seek_ecc = 96;
423 -                         sector_size = 2448;
424 -                         sector_data = 2352;
425 -                         seek_head = 0;
426 -                       }
427 -
428 -                     else if (toc == 0)
429 -
430 -                       {
431 -
432 -                         /*BAD SECTOR */
433 -                         seek_ecc = 384;
434 -                         sector_size = 2448;
435 -                         sector_data = 2048;
436 -                         seek_head = 16;
437 +      destfilename=realloc(destfilename,i+5); 
438 +      strcat(destfilename, ".iso");
439                         }
440 -
441                       else
442 -
443 -                       {
444 -
445 -                         /*BAD SECTOR */
446 -                         seek_ecc = 0;
447 -                         sector_size = 2448;
448 -                         sector_data = 2448;
449 -                         seek_head = 0;
450 -                         sub_toc = 1;
451 -                       }
452 +      strcpy(destfilename + i - 3, "iso");
453                     }
454  
455 -                 else
456 +  // *** Preprocess basefile ***
457  
458 +  // Try opening basefile
459 +  if ((fsource = fopen(basefilename, "rb")) == NULL)
460                     {
461 -                     if (!memcmp (SYNC_HEADER, buf, 12))
462 +    free(destfilename);
463 +    printf ("Could not open %s: %s\n", basefilename, strerror(errno));
464 +    exit (EXIT_FAILURE);
465 +  }
466  
467 +  // Determine filetype & set some stuff accordingly (or exit)
468 +  switch (mdftype(fsource))
469                         {
470 +    case ISO9660:
471 +            printf("%s is already ISO9660.\n",basefilename);
472 +            fclose(fsource);
473 +            free(destfilename);
474 +            exit(EXIT_SUCCESS);
475 +    case SYNC: 
476                           if (cue == 1)
477                             {
478                               cue_mode = 1;
479 @@ -348,129 +364,134 @@
480                               seek_head = 0;
481                             }
482                           if (toc == 0)
483 -
484                             {
485 -
486                               /*NORMAL IMAGE */
487                               seek_ecc = 288;
488                               sector_size = 2352;
489                               sector_data = 2048;
490                               seek_head = 16;
491                             }
492 -
493                           else
494 -
495                             {
496                               seek_ecc = 0;
497                               sector_size = 2352;
498                               sector_data = 2352;
499                               seek_head = 0;
500                             }
501 -                       }
502 -
503 -                     else
504 -
505 -                       {
506 -                         printf ("Sorry I don't know this format :(\n");
507 -                         exit (EXIT_FAILURE);
508 -                       }
509 -                   }
510 -               }
511 -
512 -             else
513 -
514 +            break;
515 +    case SYNC_MDF:
516 +            if (cue == 1)
517                 {
518 -                 fseek (fsource, 0L, SEEK_SET);
519 -                 fseek (fsource, 2352, SEEK_CUR);
520 -                 fread (buf, sizeof (char), 12, fsource);
521 -                 if (memcmp (SYNC_HEADER_MDF_AUDIO, buf, 12))
522 +              cue_mode = 1;
523  
524 +              /* BAD SECTOR TO NORMAL IMAGE */
525 +              seek_ecc = 96;
526 +              sector_size = 2448;
527 +              sector_data = 2352;
528 +              seek_head = 0;
529 +            }
530 +            else if (toc == 0)
531                     {
532 -                     printf ("Sorry I don't know this format :(\n");
533 -                     exit (EXIT_FAILURE);
534 +              /*BAD SECTOR */
535 +              seek_ecc = 384;
536 +              sector_size = 2448;
537 +              sector_data = 2048;
538 +              seek_head = 16;
539                     }
540 -
541                   else
542 -
543                     {
544 -
545 +              /*BAD SECTOR */
546 +              seek_ecc = 0;
547 +              sector_size = 2448;
548 +              sector_data = 2448;
549 +              seek_head = 0;
550 +              sub_toc = 1;
551 +            }
552 +            break;
553 +    case MDF_AUDIO:
554                       /*BAD SECTOR AUDIO */
555                       seek_head = 0;
556                       sector_size = 2448;
557                       seek_ecc = 96;
558                       sector_data = 2352;
559                       cue = 0;
560 +            break;
561 +    default:printf("Unknown format for %s.\n",basefilename);
562 +            fclose(fsource);
563 +            free(destfilename);
564 +            exit (EXIT_FAILURE);
565                     }
566 -               }
567 -             if ((fdest = fopen (destfilename, "wb")) != NULL);
568  
569 -             else
570 +  //  *** Create destination file ***
571 +    
572 +  // Try opening the destination file for output
573 +  if ((fdest = fopen (destfilename, "wb")) == NULL)
574                 {
575 -                 printf ("%s\n", strerror (errno));
576 +    printf ("Unable to open %s for output: %s\n",destfilename,strerror(errno));
577 +    free(destfilename);
578 +    fclose(fsource);
579                   exit (EXIT_FAILURE);
580 -               };
581 +  }
582 +
583 +    
584               fseek (fsource, 0L, SEEK_END);
585               source_length = ftell (fsource) / sector_size;
586 -             size_iso = (int) (source_length * sector_data);
587 -             progressbar = 100 / source_length;
588               fseek (fsource, 0L, SEEK_SET);
589 -
590               {
591                 for (i = 0; i < source_length; i++)
592 -
593                   {
594                     fseek (fsource, seek_head, SEEK_CUR);
595 -                   if (fread (buf, sizeof (char), sector_data, fsource));
596 -
597 -                   else
598 +      if (fread(buf, sizeof (char), sector_data, fsource)!=sector_data)
599                       {
600 -                       printf ("%s\n", strerror (errno));
601 +        printf ("Error reading from %s: %s\n",basefilename, strerror (errno));
602 +        fclose(fsource);
603 +        fclose(fdest);
604 +        remove(destfilename);
605 +        free(destfilename);
606                         exit (EXIT_FAILURE);
607 -                     };
608 -                   if (fwrite (buf, sizeof (char), sector_data, fdest));
609 -
610 -                   else
611 +      }
612 +      if (fwrite (buf, sizeof (char), sector_data, fdest)!=sector_data)
613                       {
614 -                       printf ("%s\n", strerror (errno));
615 +        printf ("Error writing to %s: %s\n",destfilename, strerror (errno));
616 +        fclose(fsource);
617 +        fclose(fdest);
618 +        remove(destfilename);
619 +        free(destfilename);
620                         exit (EXIT_FAILURE);
621 -                     };
622 +      }
623                     fseek (fsource, seek_ecc, SEEK_CUR);
624 -                   write_iso = (int) (sector_data * i);
625 -                   if (i != 0)
626 -                     percent = (int) (write_iso * 100 / size_iso);
627 -                   main_percent (percent);
628 -             }} printf ("100%%[:====================:]\n");
629 +      main_percent(i*100/source_length);
630 +    }
631 +  } printf ("100%% [:=====================:]\n");
632  
633               fclose (fsource);
634               fclose (fdest);
635  
636 -             if (cue == 1)
637 -               cuesheets (destfilename);
638 -             if (toc == 1)
639 -               toc_file (destfilename, sub_toc);
640 +  // *** create Toc or Cue file is requested ***
641 +  if (cue == 1) if (cuesheets(destfilename))
642 +  {
643 +    free(destfilename);
644 +    exit(EXIT_FAILURE);
645 +  }
646 +  if (toc == 1) if (toc_file(destfilename, sub_toc))
647 +  {
648 +    free(destfilename);
649 +    exit(EXIT_FAILURE);
650 +  }
651               if ((toc == 0) && (cue == 0))
652 -               printf ("Create iso9660: %s\n", destfilename);
653 +    printf("Created iso9660: %s\n", destfilename);
654 +
655 +  free(destfilename);
656  
657               exit (EXIT_SUCCESS);
658 -           }
659  
660 -         else
661 -           printf ("This is file iso9660 ;)\n");
662 +/*
663           n_mdf = number_file (destfilename) - 1;
664 -         /* if (n_mdf > 1)
665 -
666 +  / * if (n_mdf > 1) 
667              {
668              printf ("\rDetect %d md* file and now emerge this\n", n_mdf);
669              }
670 -          */
671 +  * /
672           fclose (fsource);
673 -         exit (EXIT_SUCCESS);
674 -       }
675 -
676 -      else
677 -       {
678 -         printf ("%s\n", strerror (errno));
679 -         exit (EXIT_FAILURE);
680 -       };
681 -    }
682 +  exit (EXIT_SUCCESS);*/
683  }
This page took 0.199613 seconds and 3 git commands to generate.