+(defun ez-is-separator (char)
+ (let* ((nseps (ez-mem-ref-byte ez-dict-base)))
+ (while (and (> nseps 0)
+ (not (= (ez-mem-ref-byte (+ ez-dict-base nseps))
+ char)))
+ (setq nseps (- nseps 1)))
+ (> nseps 0)))
+
+(defun ez-lookup-dictionary (text)
+ (let ((encoded-text (ez-encode text))
+ (nseps (ez-mem-ref-byte ez-dict-base))
+ (bytes-per-entry (ez-mem-ref-byte (+ ez-dict-base 1 nseps)))
+ (nentries (ez-mem-ref-word (+ ez-dict-base 2 nseps)))
+ (entries-seen 0)
+ (this-entry (+ ez-dict-base nseps 4)))
+
+ (while (and (< entries-seen nentries)
+ (not (equal
+ (ez-mem-ref-bytes this-entry 4)
+ encoded-text)))
+ (setq entries-seen (+ entries-seen 1))
+ (setq this-entry (+ this-entry bytes-per-entry)))
+
+ (if (< entries-seen nentries)
+ this-entry
+ 0)))
+