fix ctrl macro for ANSI C
[unix-history] / usr / src / usr.bin / window / string.h
index 918082d..ef6ecac 100644 (file)
@@ -1,9 +1,37 @@
 /*
 /*
- *     @(#)string.h    3.1 83/11/22
+ * @(#)string.h        3.5 %G%
  */
 
  */
 
+/*
+ * Copyright (c) 1983 Regents of the University of California,
+ * All rights reserved.  Redistribution permitted subject to
+ * the terms of the Berkeley Software License Agreement.
+ */
+
+#define STR_DEBUG
+
 char *str_cpy();
 char *str_cpy();
+char *str_ncpy();
 char *str_cat();
 char *str_itoa();
 
 #define str_cmp(a, b)  strcmp(a, b)
 char *str_cat();
 char *str_itoa();
 
 #define str_cmp(a, b)  strcmp(a, b)
+
+#ifdef STR_DEBUG
+struct string {
+       struct string *s_forw;
+       struct string *s_back;
+       char s_data[1];
+};
+
+struct string str_head;
+
+#define str_offset ((unsigned)str_head.s_data - (unsigned)&str_head)
+#define str_stos(s) ((struct string *)((unsigned)(s) - str_offset))
+
+char *str_alloc();
+int str_free();
+#else
+#define str_free(s)    free(s)
+#define str_alloc(s)   malloc(s)
+#endif