/[public]/psiconv/trunk/lib/psiconv/generate_simple.c
ViewVC logotype

Diff of /psiconv/trunk/lib/psiconv/generate_simple.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 217 Revision 231
36 const psiconv_string_t value,int kind); 36 const psiconv_string_t value,int kind);
37 37
38int psiconv_write_u8(const psiconv_config config,psiconv_buffer buf, 38int psiconv_write_u8(const psiconv_config config,psiconv_buffer buf,
39 int lev,const psiconv_u8 value) 39 int lev,const psiconv_u8 value)
40{ 40{
41 psiconv_progress(config,lev,0,"Writing u8");
42 return psiconv_buffer_add(buf,value); 41 return psiconv_buffer_add(buf,value);
43} 42}
44 43
45int psiconv_write_u16(const psiconv_config config,psiconv_buffer buf, 44int psiconv_write_u16(const psiconv_config config,psiconv_buffer buf,
46 int lev,const psiconv_u16 value) 45 int lev,const psiconv_u16 value)
47{ 46{
48 int res; 47 int res;
49 psiconv_progress(config,lev,0,"Writing u16");
50 if ((res = psiconv_buffer_add(buf,value & 0xff))) 48 if ((res = psiconv_buffer_add(buf,value & 0xff)))
51 return res; 49 return res;
52 return psiconv_buffer_add(buf,(value & 0xff00) >> 8); 50 return psiconv_buffer_add(buf,(value & 0xff00) >> 8);
53} 51}
54 52
55int psiconv_write_u32(const psiconv_config config,psiconv_buffer buf, 53int psiconv_write_u32(const psiconv_config config,psiconv_buffer buf,
56 int lev,const psiconv_u32 value) 54 int lev,const psiconv_u32 value)
57{ 55{
58 int res; 56 int res;
59 psiconv_progress(config,lev,0,"Writing u32");
60 if ((res = psiconv_buffer_add(buf,value & 0xff))) 57 if ((res = psiconv_buffer_add(buf,value & 0xff)))
61 return res; 58 return res;
62 if ((res = psiconv_buffer_add(buf,(value & 0xff00) >> 8))) 59 if ((res = psiconv_buffer_add(buf,(value & 0xff00) >> 8)))
63 return res; 60 return res;
64 if ((res = psiconv_buffer_add(buf,(value & 0xff0000) >> 16))) 61 if ((res = psiconv_buffer_add(buf,(value & 0xff0000) >> 16)))
101} 98}
102 99
103int psiconv_write_length(const psiconv_config config,psiconv_buffer buf, 100int psiconv_write_length(const psiconv_config config,psiconv_buffer buf,
104 int lev,const psiconv_length_t value) 101 int lev,const psiconv_length_t value)
105{ 102{
106 psiconv_progress(config,lev,0,"Writing length");
107 return psiconv_write_u32(config,buf,lev+1,value * (1440.0/2.54) + 0.5); 103 return psiconv_write_u32(config,buf,lev+1,value * (1440.0/2.54) + 0.5);
108} 104}
109 105
110int psiconv_write_size(const psiconv_config config,psiconv_buffer buf, 106int psiconv_write_size(const psiconv_config config,psiconv_buffer buf,
111 int lev, psiconv_size_t value) 107 int lev, psiconv_size_t value)
112{ 108{
113 psiconv_progress(config,lev,0,"Writing size");
114 return psiconv_write_u32(config,buf,lev+1,value * 20.0 + 0.5); 109 return psiconv_write_u32(config,buf,lev+1,value * 20.0 + 0.5);
115} 110}
116 111
117int psiconv_write_bool(const psiconv_config config,psiconv_buffer buf, 112int psiconv_write_bool(const psiconv_config config,psiconv_buffer buf,
118 int lev,const psiconv_bool_t value) 113 int lev,const psiconv_bool_t value)
119{ 114{
120 psiconv_progress(config,lev,0,"Writing bool");
121 if ((value != psiconv_bool_true) && (value != psiconv_bool_false)) 115 if ((value != psiconv_bool_true) && (value != psiconv_bool_false))
122 psiconv_warn(config,0,psiconv_buffer_length(buf), 116 psiconv_warn(config,0,psiconv_buffer_length(buf),
123 "Boolean has non-enum value (found %d)",value); 117 "Boolean has non-enum value (found %d)",value);
124 return psiconv_write_u8(config,buf,lev+1,value == psiconv_bool_false?0:1); 118 return psiconv_write_u8(config,buf,lev+1,value == psiconv_bool_false?0:1);
125} 119}
126 120
127int psiconv_write_string(const psiconv_config config,psiconv_buffer buf, 121int psiconv_write_string(const psiconv_config config,psiconv_buffer buf,
128 int lev, const psiconv_string_t value) 122 int lev, const psiconv_string_t value)
129{ 123{
124 int res;
130 psiconv_progress(config,lev,0,"Writing string"); 125 psiconv_progress(config,lev,0,"Writing string");
131 return psiconv_write_string_aux(config,buf,lev+1,value,-1); 126 res = psiconv_write_string_aux(config,buf,lev+1,value,-1);
127 if (res)
128 psiconv_error(config,lev,0,"Writing of string failed");
129 else
130 psiconv_progress(config,lev,0,"End of string");
131 return res;
132} 132}
133 133
134int psiconv_write_short_string(const psiconv_config config,psiconv_buffer buf, 134int psiconv_write_short_string(const psiconv_config config,psiconv_buffer buf,
135 int lev,const psiconv_string_t value) 135 int lev,const psiconv_string_t value)
136{ 136{
137 int res;
137 psiconv_progress(config,lev,0,"Writing short string"); 138 psiconv_progress(config,lev,0,"Writing short string");
138 return psiconv_write_string_aux(config,buf,lev+1,value,-2); 139 res = psiconv_write_string_aux(config,buf,lev+1,value,-2);
140 if (res)
141 psiconv_error(config,lev,0,"Writing of short string failed");
142 else
143 psiconv_progress(config,lev,0,"End of short string");
144 return res;
139} 145}
140 146
141int psiconv_write_charlist(const psiconv_config config,psiconv_buffer buf, 147int psiconv_write_charlist(const psiconv_config config,psiconv_buffer buf,
142 int lev,const psiconv_string_t value) 148 int lev,const psiconv_string_t value)
143{ 149{
150 int res;
144 psiconv_progress(config,lev,0,"Writing short string"); 151 psiconv_progress(config,lev,0,"Writing charlist");
145 return psiconv_write_string_aux(config,buf,lev+1,value,0); 152 res = psiconv_write_string_aux(config,buf,lev+1,value,0);
153 if (res)
154 psiconv_error(config,lev,0,"Writing of charlist failed");
155 else
156 psiconv_progress(config,lev,0,"End of charlist");
157 return res;
146} 158}
147 159
148 160
149int psiconv_write_string_aux(const psiconv_config config,psiconv_buffer buf, 161int psiconv_write_string_aux(const psiconv_config config,psiconv_buffer buf,
150 int lev, const psiconv_string_t value,int kind) 162 int lev, const psiconv_string_t value,int kind)
151{ 163{
152 int res,i,len; 164 int res,i,len;
153 165
154 psiconv_progress(config,lev,0,"Writing string (auxiliary)");
155 len = psiconv_unicode_strlen(value); 166 len = psiconv_unicode_strlen(value);
156 if (!value) { 167 if (!value) {
157 psiconv_error(config,0,psiconv_buffer_length(buf), 168 psiconv_error(config,lev,0, "NULL string");
158 "NULL string");
159 return -PSICONV_E_GENERATE; 169 return -PSICONV_E_GENERATE;
160 } 170 }
161 if (kind == -1) 171 if (kind == -1)
162 res = psiconv_write_S(config,buf,lev+1,len); 172 res = psiconv_write_S(config,buf,lev+1,len);
163 else if (kind == -2) 173 else if (kind == -2)
174} 184}
175 185
176int psiconv_write_offset(const psiconv_config config,psiconv_buffer buf, 186int psiconv_write_offset(const psiconv_config config,psiconv_buffer buf,
177 int lev,psiconv_u32 id) 187 int lev,psiconv_u32 id)
178{ 188{
179 psiconv_progress(config,lev,0,"Writing offset");
180 return psiconv_buffer_add_reference(buf,id); 189 return psiconv_buffer_add_reference(buf,id);
181} 190}

Legend:
Removed from v.217  
changed lines
  Added in v.231

frodo@frodo.looijaard.name
ViewVC Help
Powered by ViewVC 1.1.26