]> git.saurik.com Git - apple/icu.git/blame_incremental - icuSources/tools/genprops/misc/ucdstrip.c
ICU-3.13.tar.gz
[apple/icu.git] / icuSources / tools / genprops / misc / ucdstrip.c
... / ...
CommitLineData
1/*
2*******************************************************************************
3*
4* Copyright (C) 2003, International Business Machines
5* Corporation and others. All Rights Reserved.
6*
7*******************************************************************************
8* file name: ucdstrip.c
9* encoding: US-ASCII
10* tab size: 8 (not used)
11* indentation:4
12*
13* created on: 2003feb20
14* created by: Markus W. Scherer
15*
16* Simple tool for Unicode Character Database files with semicolon-delimited fields.
17* Removes comments behind data lines but not in others.
18*
19* To compile, just call a C compiler/linker with this source file.
20* On Windows: cl ucdstrip.c
21*/
22
23#include <stdio.h>
24#include <string.h>
25#include <stdlib.h>
26
27/* return the first character position after the end of the data */
28static char *
29endOfData(const char *l) {
30 char *end;
31 char c;
32
33 end=strchr(l, '#');
34 if(end!=NULL) {
35 /* ignore whitespace before the comment */
36 while(l!=end && ((c=*(end-1))==' ' || c=='\t')) {
37 --end;
38 }
39 } else {
40 end=strchr(l, 0);
41 }
42 return end;
43}
44
45extern int
46main(int argc, const char *argv[]) {
47 static char line[2000];
48 char *end;
49
50 while(gets(line)!=NULL) {
51 if(strtol(line, &end, 16)>=0 && end!=line) {
52 /* code point or range followed by semicolon and data, remove comment */
53 *endOfData(line)=0;
54 }
55 puts(line);
56 }
57
58 return 0;
59}