Changeset 452
- Timestamp:
- Feb 1, 2004, 7:42:52 AM (21 years ago)
- File:
-
- 1 edited
-
trunk/ccl/examples/bridge.lisp (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ccl/examples/bridge.lisp
r444 r452 388 388 (subseq typestring 1 =pos))))) 389 389 390 (defun parse-foreign-struct-or-union-spec (typestring startpos record-class) 390 (defun parse-foreign-struct-or-union-spec (typestring 391 startpos 392 record-class 393 from-pointer) 391 394 (flet ((extract-record-name (startpos delimpos) 392 395 (unless (and (= delimpos (1+ startpos)) … … 429 432 typestring 430 433 (string-input-stream-index string-stream) 431 nil)434 from-pointer) 432 435 (fields `(,(if field-name-string (escape-foreign-name field-name-string)) 433 436 ,typespec)) … … 470 473 ;;; Parse the ivar's type string and return a FOREIGN-TYPE object. 471 474 (defun objc-foreign-type-for-ivar 472 (str &optional (startpos 0) (allow-id-name t) )475 (str &optional (startpos 0) (allow-id-name t) from-pointer) 473 476 (let* ((endpos (1+ startpos)) 474 477 (startchar (schar str startpos)) … … 488 491 (#\d :double-float) 489 492 (#\v :void) 493 (#\B :<BOOL>) 490 494 (#\@ (when allow-id-name 491 495 (let* ((nextpos (1+ startpos))) … … 501 505 (#\* '(:* :char)) 502 506 (#\^ (multiple-value-bind (type end) 503 (objc-foreign-type-for-ivar str (1+ startpos) t )507 (objc-foreign-type-for-ivar str (1+ startpos) t t) 504 508 (setq endpos end) 505 509 `(:* ,type))) … … 521 525 str (1+ startpos) (if (eq startchar #\{) 522 526 :struct 523 :union)) 527 :union) 528 from-pointer) 524 529 (setq endpos end) 525 530 type))
Note:
See TracChangeset
for help on using the changeset viewer.
