chiark / gitweb /
New function allowing an atom's length to be specified at intern time.
authormdw <mdw>
Thu, 25 Jan 2001 21:13:40 +0000 (21:13 +0000)
committermdw <mdw>
Thu, 25 Jan 2001 21:13:40 +0000 (21:13 +0000)
Add @ATOM_HASH@ macro so that assoc doesn't have to dig in the @atom@
structure.

atom.h

diff --git a/atom.h b/atom.h
index 7adf195613fac0f8a3280250c77b9665707ea34d..dac91d5f0edf715469bc88ce14878b56836f1d07 100644 (file)
--- a/atom.h
+++ b/atom.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: atom.h,v 1.1 2001/01/20 11:50:16 mdw Exp $
+ * $Id: atom.h,v 1.2 2001/01/25 21:13:40 mdw Exp $
  *
  * Atom management
  *
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: atom.h,v $
+ * Revision 1.2  2001/01/25 21:13:40  mdw
+ * New function allowing an atom's length to be specified at intern time.
+ * Add @ATOM_HASH@ macro so that assoc doesn't have to dig in the @atom@
+ * structure.
+ *
  * Revision 1.1  2001/01/20 11:50:16  mdw
  * Implementation of atom tables (for example, as found in X11).
  *
@@ -101,6 +106,7 @@ extern void atom_destroytable(atom_table */*t*/);
  *
  * Arguments:  @atom_table *t@ = pointer to an atom table
  *             @const char *p@ = pointer to the string to intern
+ *             @size_t n@ = size of the string (for @atom_nintern)
  *
  * Returns:    A pointer to the atom block for the given symbol string.
  *
@@ -111,6 +117,8 @@ extern void atom_destroytable(atom_table */*t*/);
 #define INTERN(p) atom_intern(ATOM_GLOBAL, (p))
 
 extern atom *atom_intern(atom_table */*t*/, const char */*p*/);
+extern atom *atom_nintern(atom_table */*t*/,
+                         const char */*p*/, size_t /*n*/);
 
 /* --- @atom_gensym@ --- *
  *
@@ -151,7 +159,7 @@ extern const char *atom_name(const atom */*a*/);
  *             representation.
  */
 
-#define ATOM_LEN(a) (SYM_LEN(a) - 1)
+#define ATOM_LEN(a) SYM_LEN(a)
 
 extern size_t atom_len(const atom */*a*/);