wrc: Treat empty translation strings as missing.
[wine] / tools / wrc / wrc.h
1 /*
2  * Main definitions and externals
3  *
4  * Copyright 1998 Bertho A. Stultiens (BS)
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19  */
20
21 #ifndef __WRC_WRC_H
22 #define __WRC_WRC_H
23
24 #include <time.h>       /* For time_t */
25
26 #include "wrctypes.h"
27
28 /* From wrc.c */
29 extern int debuglevel;
30 #define DEBUGLEVEL_NONE         0x0000
31 #define DEBUGLEVEL_CHAT         0x0001
32 #define DEBUGLEVEL_DUMP         0x0002
33 #define DEBUGLEVEL_TRACE        0x0004
34 #define DEBUGLEVEL_PPMSG        0x0008
35 #define DEBUGLEVEL_PPLEX        0x0010
36 #define DEBUGLEVEL_PPTRACE      0x0020
37
38 extern int win32;
39 extern int create_res;
40 extern int extensions;
41 extern int create_s;
42 extern int pedantic;
43 extern int byteorder;
44 extern int preprocess_only;
45 extern int no_preprocess;
46 extern int check_utf8;
47
48 extern char *input_name;
49 extern char *cmdline;
50 extern time_t now;
51
52 extern int line_number;
53 extern int char_number;
54
55 extern resource_t *resource_top;
56 extern language_t *currentlanguage;
57
58 void verify_translations(resource_t *top);
59 void write_pot_file( const char *outname );
60 void write_po_files( const char *outname );
61 void add_translations( const char *po_dir );
62 void write_resfile(char *outname, resource_t *top);
63
64 static inline void set_location( location_t *loc )
65 {
66     loc->file = input_name;
67     loc->line = line_number;
68     loc->col  = char_number;
69 }
70
71 static inline void print_location( const location_t *loc )
72 {
73     if (loc->file) fprintf(stderr, "%s:%d:%d: ", loc->file, loc->line, loc->col );
74 }
75
76 #endif