]> git.sur5r.net Git - cc65/commitdiff
New function SB_Skip
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sun, 29 Sep 2002 19:55:38 +0000 (19:55 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sun, 29 Sep 2002 19:55:38 +0000 (19:55 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@1412 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/common/strbuf.h

index 36120c527cc2fee052f13adb8381eebb1b40dca6..3ab71df60de194d5f00a6bd5e6039f8c8269dfce 100644 (file)
@@ -191,7 +191,7 @@ INLINE char SB_Get (StrBuf* B)
 
 #if defined(HAVE_INLINE)
 INLINE char SB_Peek (StrBuf* B)
-/* Look at the next character from the string without incrementing Index. 
+/* Look at the next character from the string without incrementing Index.
  * Returns NUL if the end of the string is reached.
  */
 {
@@ -201,6 +201,18 @@ INLINE char SB_Peek (StrBuf* B)
 #  define SB_Peek(B)     (((B)->Index < (B)->Len)? (B)->Buf[(B)->Index] : '\0')
 #endif
 
+#if defined(HAVE_INLINE)
+INLINE void SB_Skip (StrBuf* B)
+/* Skip the next character in the string buffer if this is possible. */
+{
+    if (B->Index < B->Len) {
+        ++B->Index;
+    }
+}
+#else
+#  define SB_Skip(B)     do { if ((B)->Index < (B)->Len) ++(B)->Index; } while (0)
+#endif
+
 void SB_Terminate (StrBuf* B);
 /* Zero terminate the given string buffer. NOTE: The terminating zero is not
  * accounted for in B->Len, if you want that, you have to use AppendChar!