[BACK]Return to crlf.c CVS log [TXT][DIR] Up to [local] / OpenXM / misc / packages / Windows / debug-tools

File: [local] / OpenXM / misc / packages / Windows / debug-tools / crlf.c (download)

Revision 1.2, Fri Aug 22 16:08:19 2003 UTC (20 years, 9 months ago) by ohara
Branch: MAIN
CVS Tags: R_1_3_1-2, RELEASE_1_3_1_13b, RELEASE_1_2_3_12, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, KNOPPIX_2006, HEAD, DEB_REL_1_2_3-9
Changes since 1.1: +2 -2 lines

The exit(3) requires one argument.

/* $OpenXM: OpenXM/misc/packages/Windows/debug-tools/crlf.c,v 1.2 2003/08/22 16:08:19 ohara Exp $ */
#include <stdio.h>
main(int argc,char *argv[]) {
  FILE *fp;
  FILE *fp2;
  char s[1024];
  char fname[1024];
  int cr = 0;
  int c;
  if (argc < 2) {
    fprintf(stderr,"crlf filename\n");
    exit(1);
  }
  fp = fopen(argv[1],"r");
  if (fp == NULL) {
    fprintf(stderr,"Could not open the file %s.\n",argv[1]);
  }
  while ( (c=fgetc(fp)) != EOF) {
    if ( c == 0xd) {
      cr = 1; break;
    }
  }
  if (cr == 1) exit(0);  /* do nothing. Windows file. */
  fclose(fp);

  sprintf(fname,"%s.BAK",argv[1]);
  sprintf(s,"cp %s %s",argv[1],fname);
  system(s);

  fp = fopen(fname,"r");
  fp2 = fopen(argv[1],"w");
  while ((c=fgetc(fp)) != EOF) {
    if (c == 0xa) {
      fputc(0xd,fp2); fputc(0xa,fp2);
    }else{
      fputc(c,fp2);
    }
  }
  fclose(fp); fclose(fp2);  
}