Index: /trunk/ccl/examples/bridge.lisp
===================================================================
--- /trunk/ccl/examples/bridge.lisp	(revision 443)
+++ /trunk/ccl/examples/bridge.lisp	(revision 444)
@@ -416,8 +416,11 @@
 		     `(,record-class ,record-name ,@(fields)))
 		   (1+ (string-input-stream-index string-stream))))
-	      (let* ((field-name-string (read string-stream)))
+	      (let* ((field-name-string
+		      (if (eql (peek-char nil string-stream) #\")
+			(read string-stream))))
 		(if (eql (peek-char nil string-stream) #\")
 		  (setq field-name-string (read string-stream)))
-		(unless (typep field-name-string 'string)
+		(unless (or (null field-name-string)
+			    (typep field-name-string 'string))
 		  (error "Bad field name in ~s: expected a quoted string, got ~s"
 			 typestring field-name-string))
@@ -427,5 +430,5 @@
 		     (string-input-stream-index string-stream)
 		     nil)
-		  (fields `(,(escape-foreign-name field-name-string)
+		  (fields `(,(if field-name-string (escape-foreign-name field-name-string))
 			    ,typespec))
 		  (setf (string-input-stream-index string-stream) endpos))))))))))
