chiark / gitweb /
lib/sod.h: Mark-up fix.
[sod] / lib / sod.h
index cb6b046d182b77a63aa5038008d75d2a1687da69..074989d96d2dc6938cbea1d325d0f74a3705ad04 100644 (file)
--- a/lib/sod.h
+++ b/lib/sod.h
@@ -7,7 +7,7 @@
 
 /*----- Licensing notice --------------------------------------------------*
  *
- * This file is part of the Sensble Object Design, an object system for C.
+ * This file is part of the Sensible Object Design, an object system for C.
  *
  * The SOD Runtime Library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public License as
@@ -53,7 +53,7 @@ struct sod_vtable {
  * these.
  */
 struct sod_instance {
-  struct sod_vtable *_vt;              /* Pointer to (chain's) vtable */
+  const struct sod_vtable *_vt;                /* Pointer to (chain's) vtable */
 };
 
 /* Information about a particular chain of superclasses.  In each class,
@@ -76,14 +76,15 @@ struct sod_chain {
  * Arguments:  @chead@ = nickname of target chain's head
  *             @obj@ = pointer to an instance chain
  *
- * Returns:    Pointer to target chain, as a @char *@.
+ * Returns:    Pointer to target chain, as a @void *@.
  *
  * Use:                Utility for implementing cross-chain upcasts.  It's probably
  *             not that clever to use this macro directly; it's used to make
  *             the automatically-generated upcast macros more palatable.
  */
 
-#define SOD_XCHAIN(chead, obj) ((char *)(obj) + (obj)->_vt->_off_##chead)
+#define SOD_XCHAIN(chead, obj)                                         \
+  ((void *)((char *)(obj) + (obj)->_vt->_off_##chead))
 
 /* --- @SOD_OFFSETDIFF@ --- *
  *
@@ -124,7 +125,7 @@ struct sod_chain {
   ((struct cls##__ilayout *)                                           \
    ((char *)(obj) - offsetof(struct cls##__ilayout, chead)))
 
-/* --- @SOD__CAR@ --- *
+/* --- @SOD_CAR@ --- *
  *
  * Arguments:  @...@ = a nonempty list of arguments
  *
@@ -132,7 +133,7 @@ struct sod_chain {
  */
 
 #if __STDC_VERSION__ >= 199901
-#  define SOD__CAR(...) SOD__CARx(__VA_LIST__, _)
+#  define SOD_CAR(...) SOD__CARx(__VA_LIST__, _)
 #  define SOD__CARx(a, ...) a
 #endif
 
@@ -142,7 +143,7 @@ struct sod_chain {
  *
  * Arguments:  @p@ = pointer to an instance chain
  *
- * Returns:    A pointer to the instance's class, as a const SodClass.
+ * Returns:    A pointer to the instance's class, as a @const SodClass *@.
  */
 
 #define SOD_CLASSOF(obj) ((const SodClass *)(obj)->_vt->_class)