A person with Autism and ADHD; currently also struggling with acid reflux.

  • 2 Posts
Joined 4M ago
Cake day: Jan 18, 2022


I managed to find a solution!

EDIT: (use setf instead of dpb, because dpb didn’t work for some reason.)

(let ((version 0))
  (dotimes (i 4 #|<- Read 4 Bytes.|# version) (setf (ldb (byte 8 (* 8 i)) version) (read-byte input-stream))))

~~That code was less complicated than I thought it would be...~~

[Common Lisp] How do I read a 32-bit integer from a binary (file) stream?
I can't figure out how to read multiple bytes. I'm trying to read a 32-bit integer so that I can store it to be used by a class. My (truncated) code: ``` (let ((version-buffer (byte 4 0))) (read-sequence version-buffer input-stream) (cond ((> version-buffer 10) (read-sequence minor-version-buffer input-stream)) (t t)) (setf (navigation-mesh-version temp-mesh) `(,(version-buffer)) ) ) ``` EDIT: Truncated the code further.

How do I insert control characters into a string with hex?
I'm trying to read a string and verify it's magic number (0xFEEDFACE); but I don't know how to insert an ascii character (as a number) into strings. Here is my code: ``` ;; Parser library for the Source Engine Nav mesh format. (defun parse-nav-string (input-string) "Parses string as Nav file." ;; Test for magic string 0xFEEDFACE. (cond (string= (subseq input-string 0 3) (concatenate (code-char #xCE) (code-char #xFA) (code-char #xED) (code-char #xFE)) ) (t (format *error-output* "Magic string not found!") ) ) () ) ```