Changeset 183 for libyaml/trunk/src/api.c
- Timestamp:
- 06/02/06 09:03:14 (7 years ago)
- File:
-
- 1 edited
-
libyaml/trunk/src/api.c (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libyaml/trunk/src/api.c
r180 r183 12 12 */ 13 13 14 void * 14 YAML_DECLARE(void *) 15 15 yaml_malloc(size_t size) 16 16 { … … 22 22 */ 23 23 24 void * 24 YAML_DECLARE(void *) 25 25 yaml_realloc(void *ptr, size_t size) 26 26 { … … 32 32 */ 33 33 34 void 34 YAML_DECLARE(void) 35 35 yaml_free(void *ptr) 36 36 { … … 42 42 */ 43 43 44 yaml_parser_t * 44 YAML_DECLARE(yaml_parser_t *) 45 45 yaml_parser_new(void) 46 46 { … … 83 83 */ 84 84 85 void 85 YAML_DECLARE(void) 86 86 yaml_parser_delete(yaml_parser_t *parser) 87 87 { … … 137 137 */ 138 138 139 void 139 YAML_DECLARE(void) 140 140 yaml_parser_set_input_string(yaml_parser_t *parser, 141 141 unsigned char *input, size_t size) … … 157 157 */ 158 158 159 void 159 YAML_DECLARE(void) 160 160 yaml_parser_set_input_file(yaml_parser_t *parser, FILE *file) 161 161 { … … 172 172 */ 173 173 174 void 174 YAML_DECLARE(void) 175 175 yaml_parser_set_input(yaml_parser_t *parser, 176 176 yaml_read_handler_t *handler, void *data) … … 188 188 */ 189 189 190 void 190 YAML_DECLARE(void) 191 191 yaml_parser_set_encoding(yaml_parser_t *parser, yaml_encoding_t encoding) 192 192 { … … 197 197 } 198 198 199 /* 200 * Create a token. 201 */ 202 203 YAML_DECLARE(yaml_token_t *) 204 yaml_token_new(yaml_token_type_t type, 205 yaml_mark_t start_mark, yaml_mark_t end_mark) 206 { 207 yaml_token_t *token = yaml_malloc(sizeof(yaml_token_t)); 208 209 if (!token) return NULL; 210 211 memset(token, 0, sizeof(yaml_token_t)); 212 213 token->type = type; 214 token->start_mark = start_mark; 215 token->end_mark = end_mark; 216 217 return token; 218 } 219 220 /* 221 * Create a STREAM-START token. 222 */ 223 224 YAML_DECLARE(yaml_token_t *) 225 yaml_stream_start_token(yaml_encoding_t encoding, 226 yaml_mark_t start_mark, yaml_mark_t end_mark) 227 { 228 yaml_token_t *token = yaml_token_new(YAML_STREAM_START_TOKEN, 229 start_mark, end_mark); 230 231 if (!token) return NULL; 232 233 token->data.encoding = encoding; 234 235 return token; 236 } 237 238 /* 239 * Create a STREAM-END token. 240 */ 241 242 YAML_DECLARE(yaml_token_t *) 243 yaml_stream_end_token(yaml_mark_t start_mark, yaml_mark_t end_mark) 244 { 245 yaml_token_t *token = yaml_token_new(YAML_STREAM_END_TOKEN, 246 start_mark, end_mark); 247 248 if (!token) return NULL; 249 250 return token; 251 } 252 253 /* 254 * Create a VERSION-DIRECTIVE token. 255 */ 256 257 YAML_DECLARE(yaml_token_t *) 258 yaml_version_directive_token_new(int major, int minor, 259 yaml_mark_t start_mark, yaml_mark_t end_mark) 260 { 261 yaml_token_t *token = yaml_token_new(YAML_VERSION_DIRECTIVE_TOKEN, 262 start_mark, end_mark); 263 264 if (!token) return NULL; 265 266 token->data.version_directive.major = major; 267 token->data.version_directive.minor = minor; 268 269 return token; 270 } 271 272 /* 273 * Create a TAG-DIRECTIVE token. 274 */ 275 276 YAML_DECLARE(yaml_token_t *) 277 yaml_tag_directive_token_new(yaml_char_t *handle, yaml_char_t *prefix, 278 yaml_mark_t start_mark, yaml_mark_t end_mark) 279 { 280 yaml_token_t *token = yaml_token_new(YAML_TAG_DIRECTIVE_TOKEN, 281 start_mark, end_mark); 282 283 if (!token) return NULL; 284 285 token->data.tag_directive.handle = handle; 286 token->data.tag_directive.prefix = prefix; 287 288 return token; 289 } 290 291 /* 292 * Create an ALIAS token. 293 */ 294 295 YAML_DECLARE(yaml_token_t *) 296 yaml_alias_token_new(yaml_char_t *anchor, 297 yaml_mark_t start_mark, yaml_mark_t end_mark) 298 { 299 yaml_token_t *token = yaml_token_new(YAML_ALIAS_TOKEN, 300 start_mark, end_mark); 301 302 if (!token) return NULL; 303 304 token->data.anchor = anchor; 305 306 return token; 307 } 308 309 /* 310 * Create an ANCHOR token. 311 */ 312 313 YAML_DECLARE(yaml_token_t *) 314 yaml_anchor_token_new(yaml_char_t *anchor, 315 yaml_mark_t start_mark, yaml_mark_t end_mark) 316 { 317 yaml_token_t *token = yaml_token_new(YAML_ANCHOR_TOKEN, 318 start_mark, end_mark); 319 320 if (!token) return NULL; 321 322 token->data.anchor = anchor; 323 324 return token; 325 } 326 327 /* 328 * Create a TAG token. 329 */ 330 331 YAML_DECLARE(yaml_token_t *) 332 yaml_tag_token_new(yaml_char_t *handle, yaml_char_t *suffix, 333 yaml_mark_t start_mark, yaml_mark_t end_mark) 334 { 335 yaml_token_t *token = yaml_token_new(YAML_TAG_TOKEN, 336 start_mark, end_mark); 337 338 if (!token) return NULL; 339 340 token->data.tag.handle = handle; 341 token->data.tag.suffix = suffix; 342 343 return token; 344 } 345 346 /* 347 * Create a SCALAR token. 348 */ 349 350 YAML_DECLARE(yaml_token_t *) 351 yaml_scalar_token_new(yaml_char_t *value, size_t length, 352 yaml_scalar_style_t style, 353 yaml_mark_t start_mark, yaml_mark_t end_mark) 354 { 355 yaml_token_t *token = yaml_token_new(YAML_SCALAR_TOKEN, 356 start_mark, end_mark); 357 358 if (!token) return NULL; 359 360 token->data.scalar.value = value; 361 token->data.scalar.length = length; 362 token->data.scalar.style = style; 363 364 return token; 365 } 366 367 /* 368 * Destroy a token object. 369 */ 370 371 YAML_DECLARE(void) 372 yaml_token_delete(yaml_token_t *token) 373 { 374 assert(token); /* Non-NULL token object expected. */ 375 376 switch (token->type) 377 { 378 case YAML_TAG_DIRECTIVE_TOKEN: 379 yaml_free(token->data.tag_directive.handle); 380 yaml_free(token->data.tag_directive.prefix); 381 break; 382 383 case YAML_ALIAS_TOKEN: 384 case YAML_ANCHOR_TOKEN: 385 yaml_free(token->data.anchor); 386 break; 387 388 case YAML_TAG_TOKEN: 389 yaml_free(token->data.tag.handle); 390 yaml_free(token->data.tag.suffix); 391 break; 392 393 case YAML_SCALAR_TOKEN: 394 yaml_free(token->data.scalar.value); 395 break; 396 } 397 398 memset(token, 0, sizeof(yaml_token_t)); 399 400 yaml_free(token); 401 } 402
Note: See TracChangeset
for help on using the changeset viewer.
