--- freem/src/freem.h	2025/03/09 19:14:25	1.3
+++ freem/src/freem.h	2025/03/22 18:43:54	1.4
@@ -1,5 +1,5 @@
 /*
- *   $Id: freem.h,v 1.3 2025/03/09 19:14:25 snw Exp $
+ *   $Id: freem.h,v 1.4 2025/03/22 18:43:54 snw Exp $
  *    libfreem data structures and prototypes
  * 
  *    NOTE: Caller must pre-allocate memory for *all* APIs!
@@ -26,6 +26,9 @@
  *   along with FreeM.  If not, see <https://www.gnu.org/licenses/>.
  *
  *   $Log: freem.h,v $
+ *   Revision 1.4  2025/03/22 18:43:54  snw
+ *   Make STRLEN 255 chars and add BIGSTR macro for larger buffers
+ *
  *   Revision 1.3  2025/03/09 19:14:25  snw
  *   First phase of REUSE compliance and header reformat
  *
@@ -41,7 +44,11 @@
 #include <sys/types.h>
 
 #if !defined(STRLEN)
-# define STRLEN 65535
+# define STRLEN 255
+#endif
+
+#if !defined(BIGSTR)
+# define BIGSTR 65535
 #endif
 
 #define MREF_RT_LOCAL 0
@@ -70,7 +77,7 @@ typedef struct freem_ref_t {
      * The 'name' field is the name of the local variable,
      * global variable, or SSV.
      */
-    char name[256];    
+    char name[STRLEN];    
 
     /*
      * Returned data goes in a string, so it is important to make sure
@@ -81,7 +88,7 @@ typedef struct freem_ref_t {
     short status;
 
     unsigned int subscript_count;
-    char subscripts[255][256];
+    char subscripts[255][STRLEN];
 
 } freem_ref_t;