--- /dev/null
+--- at-3.1.8/at.c.env Fri Jul 20 01:37:01 2001
++++ at-3.1.8/at.c Fri Jul 20 01:43:58 2001
+@@ -357,24 +357,27 @@
+ */
+ for (atenv = environ; *atenv != NULL; atenv++) {
+ int export = 1;
+- char *eqp;
++ char *pch;
++ char * eqp = *atenv;
++ char * valp = *atenv;
+
+- eqp = strchr(*atenv, '=');
+- if (ap == NULL)
+- eqp = *atenv;
+- else {
++ if ((pch = strchr(*atenv, '=')) != 0) {
+ unsigned int i;
++
++ eqp = pch;
++ valp = pch + 1;
+ for (i = 0; i < sizeof(no_export) / sizeof(no_export[0]); i++) {
+ export = export
+ && (strncmp(*atenv, no_export[i],
+ (size_t) (eqp - *atenv)) != 0);
+ }
+- eqp++;
+- }
++ } else {
++ continue; /* no '=', so bail on this one */
++ }
+
+ if (export) {
+- fwrite(*atenv, sizeof(char), eqp - *atenv, fp);
+- for (ap = eqp; *ap != '\0'; ap++) {
++ fwrite(*atenv, sizeof(char), valp - *atenv, fp);
++ for (ap = valp; *ap != '\0'; ap++) {
+ if (*ap == '\n')
+ fprintf(fp, "\"\n\"");
+ else {
+@@ -405,7 +408,7 @@
+ }
+ }
+ fputs("; export ", fp);
+- fwrite(*atenv, sizeof(char), eqp - *atenv - 1, fp);
++ fwrite(*atenv, sizeof(char), eqp - *atenv, fp);
+ fputc('\n', fp);
+
+ }