comparison src/font-mgr.c @ 5438:8d29f1c4bb98

Merge with 21.5 trunk.
author Mats Lidell <matsl@xemacs.org>
date Fri, 26 Nov 2010 06:43:36 +0100
parents 308d34e9f07d 17c381a2f377
children 56144c8593a8
comparison
equal deleted inserted replaced
5437:002cb5224e4f 5438:8d29f1c4bb98
407 (pattern, property, id, type)) 407 (pattern, property, id, type))
408 { 408 {
409 Extbyte *fc_property; 409 Extbyte *fc_property;
410 FcResult fc_result; 410 FcResult fc_result;
411 FcValue fc_value; 411 FcValue fc_value;
412 int int_id = 0;
412 413
413 /* 414 /*
414 process arguments 415 process arguments
415 */ 416 */
416 CHECK_FC_PATTERN (pattern); 417 CHECK_FC_PATTERN (pattern);
431 list2 (Qsymbolp, Qobject))) 432 list2 (Qsymbolp, Qobject)))
432 or something like that? */ 433 or something like that? */
433 dead_wrong_type_argument (Qstringp, property); 434 dead_wrong_type_argument (Qstringp, property);
434 } 435 }
435 436
436 if (!NILP (id)) CHECK_NATNUM (id); 437 if (!NILP (id))
438 {
439 #ifdef HAVE_BIGNUM
440 check_integer_range (id, Qzero, make_integer (INT_MAX));
441 int_id = BIGNUMP (id) ? bignum_to_int (XBIGNUM_DATA (id)) : XINT (id);
442 #else
443 check_integer_range (id, Qzero, make_integer (EMACS_INT_MAX));
444 int_id = XINT (id);
445 #endif
446 }
437 if (!NILP (type)) CHECK_SYMBOL (type); 447 if (!NILP (type)) CHECK_SYMBOL (type);
438 448
439 /* get property */ 449 /* get property */
440 fc_result = FcPatternGet (XFC_PATTERN_PTR (pattern), 450 fc_result = FcPatternGet (XFC_PATTERN_PTR (pattern),
441 fc_property, 451 fc_property, int_id, &fc_value);
442 NILP (id) ? 0 : XINT (id),
443 &fc_value);
444 452
445 switch (fc_result) 453 switch (fc_result)
446 { 454 {
447 case FcResultMatch: 455 case FcResultMatch:
448 /* wrap it and return */ 456 /* wrap it and return */