| | 2698 | } |
|---|
| | 2699 | |
|---|
| | 2700 | /************************************************************************/ |
|---|
| | 2701 | /* FormatCRLF() */ |
|---|
| | 2702 | /************************************************************************/ |
|---|
| | 2703 | |
|---|
| | 2704 | void FormatCRLF( const char *pszFilename ) |
|---|
| | 2705 | { |
|---|
| | 2706 | const char *pszTempfile; |
|---|
| | 2707 | FILE *fpIn; |
|---|
| | 2708 | FILE *fpOut; |
|---|
| | 2709 | char ch; |
|---|
| | 2710 | |
|---|
| | 2711 | pszTempfile = CPLResetExtension( pszFilename, "$$$" ); |
|---|
| | 2712 | |
|---|
| | 2713 | fpIn = VSIFOpen( pszFilename, "r" ); |
|---|
| | 2714 | fpOut = VSIFOpen( pszTempfile, "w" ); |
|---|
| | 2715 | |
|---|
| | 2716 | if ( fpIn == NULL ) |
|---|
| | 2717 | { |
|---|
| | 2718 | return; |
|---|
| | 2719 | } |
|---|
| | 2720 | |
|---|
| | 2721 | if ( fpOut == NULL ) |
|---|
| | 2722 | { |
|---|
| | 2723 | VSIFClose( fpIn ); |
|---|
| | 2724 | return; |
|---|
| | 2725 | } |
|---|
| | 2726 | |
|---|
| | 2727 | // Copy data |
|---|
| | 2728 | |
|---|
| | 2729 | ch = VSIFGetc( fpIn ); |
|---|
| | 2730 | |
|---|
| | 2731 | while( VSIFEof( fpIn ) == FALSE ) |
|---|
| | 2732 | { |
|---|
| | 2733 | VSIFPutc( ch, fpOut ); |
|---|
| | 2734 | ch = VSIFGetc( fpIn ); |
|---|
| | 2735 | } |
|---|
| | 2736 | |
|---|
| | 2737 | VSIFClose( fpIn ); |
|---|
| | 2738 | VSIFClose( fpOut ); |
|---|
| | 2739 | |
|---|
| | 2740 | // Convert format |
|---|
| | 2741 | |
|---|
| | 2742 | fpIn = VSIFOpen( pszTempfile, "r" ); |
|---|
| | 2743 | fpOut = VSIFOpen( pszFilename, "w" ); |
|---|
| | 2744 | |
|---|
| | 2745 | if ( fpIn == NULL ) |
|---|
| | 2746 | { |
|---|
| | 2747 | return; |
|---|
| | 2748 | } |
|---|
| | 2749 | |
|---|
| | 2750 | if ( fpOut == NULL ) |
|---|
| | 2751 | { |
|---|
| | 2752 | VSIFClose( fpIn ); |
|---|
| | 2753 | return; |
|---|
| | 2754 | } |
|---|
| | 2755 | |
|---|
| | 2756 | ch = VSIFGetc( fpIn ); |
|---|
| | 2757 | |
|---|
| | 2758 | while( VSIFEof( fpIn ) == FALSE ) |
|---|
| | 2759 | { |
|---|
| | 2760 | if( ch == '\012' ) |
|---|
| | 2761 | { |
|---|
| | 2762 | VSIFPutc( '\015', fpOut ); |
|---|
| | 2763 | } |
|---|
| | 2764 | VSIFPutc( ch, fpOut ); |
|---|
| | 2765 | ch = VSIFGetc( fpIn ); |
|---|
| | 2766 | } |
|---|
| | 2767 | |
|---|
| | 2768 | VSIFClose( fpIn ); |
|---|
| | 2769 | VSIFClose( fpOut ); |
|---|
| | 2770 | |
|---|
| | 2771 | VSIUnlink( pszTempfile ); |
|---|