57 lines
1.7 KiB
C
57 lines
1.7 KiB
C
|
/*
|
||
|
*******************************************************************************
|
||
|
*
|
||
|
* Copyright (C) 2000, International Business Machines
|
||
|
* Corporation and others. All Rights Reserved.
|
||
|
*
|
||
|
*******************************************************************************
|
||
|
* file name: ucmstrip.c
|
||
|
* encoding: US-ASCII
|
||
|
* tab size: 8 (not used)
|
||
|
* indentation:4
|
||
|
*
|
||
|
* created on: 2000nov09
|
||
|
* created by: Markus W. Scherer
|
||
|
*
|
||
|
* This tool reads a .ucm file, expects there to be a line in the header with
|
||
|
* "File created on..." and removes the lines before and including that.
|
||
|
* Then it removes lines with <icu:state> and <uconv_class> and <code_set_name>.
|
||
|
* This helps comparing .ucm files with different copyright statements and
|
||
|
* different state specifications.
|
||
|
*
|
||
|
* To compile, just call a C compiler/linker with this source file.
|
||
|
* On Windows: cl ucmstrip.c
|
||
|
*/
|
||
|
|
||
|
#include <stdio.h>
|
||
|
#include <stdlib.h>
|
||
|
#include <string.h>
|
||
|
|
||
|
extern int
|
||
|
main(int argc, const char *argv[]) {
|
||
|
char line[200];
|
||
|
char *s, *end;
|
||
|
unsigned long b, i, mappingsTop=0;
|
||
|
|
||
|
/* parse the input file from stdin */
|
||
|
/* skip lines until and including the one with "created on" */
|
||
|
for(;;) {
|
||
|
if(gets(line)==NULL) {
|
||
|
return 0;
|
||
|
}
|
||
|
if(0==strncmp(line, "# File created on ", 18)) {
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* write all lines except with <uconv_class> and <icu:state> and <code_set_name> */
|
||
|
for(;;) {
|
||
|
if(gets(line)==NULL) {
|
||
|
return 0;
|
||
|
}
|
||
|
if(0!=strncmp(line, "<uconv_class>", 13) && 0!=strncmp(line, "<icu:state>", 11) && 0!=strncmp(line, "<code_set_name>", 14)) {
|
||
|
puts(line);
|
||
|
}
|
||
|
}
|
||
|
}
|