+/*
+ * poke through the data space and find all sccs identifiers.
+ * We assume:
+ * a) that extern char **environ; is the first thing in the bss
+ * segment (true, if one is using the new version of cmgt.crt0.c)
+ * b) that the sccsid's have not been put into text space.
+ */
+selfwhat(place)
+ FILE *place;
+{
+ extern char **environ;
+ register char *ub;
+ register char *cp;
+ register char *pat;
+ char *sbrk();
+
+ for (cp = (char *)&environ, ub = sbrk(0); cp < ub; cp++){
+ if (cp[0] != '@') continue;
+ if (cp[1] != '(') continue;
+ if (cp[2] != '#') continue;
+ if (cp[3] != ')') continue;
+ fputc('\t', place);
+ for (cp += 4; cp < ub; cp++){
+ if (*cp == 0) break;
+ if (*cp == '>') break;
+ if (*cp == '\n') break;
+ fputc(*cp, place);
+ }
+ fputc('\n', place);
+ }
+}