tower@WHEATIES.AI.MIT.EDU (Leonard H. Tower Jr.) (01/10/89)
Return-Path: <bug-gnu-emacs-request@prep.ai.mit.edu> Date: 5 Jan 89 23:09:28 GMT From: nexus!mike@uunet.uu.net (Mike Hickey) Organization: Nexus Inc., Washington DC Subject: Patches for make 3.27 Sender: bug-gnu-emacs-request@prep.ai.mit.edu To: bug-gnu-emacs@prep.ai.mit.edu Greetings! Here are some trivial patches that were required by a SysV box for compilation. --------------------[ cut here ]-------------------- # Files to patch: make.c, commands.c # # make.c: # Structure member index confused the compiler due to the # redefinition in make.h # #commands.c: # Use pre-defined macros for wait status. Their use hadn't # been propagated through. # # The following patches were required for compilation under # System V. Tested on an NCR Tower 400 w/O.S. Rel. 2.0.0 # *** make.c Mon Dec 12 23:37:13 1988 --- ../patched-make/make.c Thu Jan 5 22:01:26 1989 *************** *** 96,102 struct stringlist { char **list; /* Nil-terminated list of strings. */ ! unsigned int index; /* Index into above. */ unsigned int max; /* Number of pointers allocated. */ }; --- 96,102 ----- struct stringlist { char **list; /* Nil-terminated list of strings. */ ! unsigned int sindex; /* Index into above. */ unsigned int max; /* Number of pointers allocated. */ }; *************** *** 466,472 if (makefiles != 0) { register unsigned int i; ! for (i = 0; i < makefiles->index; ++i) if (makefiles->list[i][0] == '-' && makefiles->list[i][1] == '\0') { /* This makefile is standard input. Since we may re-exec --- 466,472 ----- if (makefiles != 0) { register unsigned int i; ! for (i = 0; i < makefiles->sindex; ++i) if (makefiles->list[i][0] == '-' && makefiles->list[i][1] == '\0') { /* This makefile is standard input. Since we may re-exec *************** *** 658,664 ++j; } } ! if (directories != 0 && directories->index > 0) { char bad; if (current_directory[0] != '\0') --- 658,664 ----- ++j; } } ! if (directories != 0 && directories->sindex > 0) { char bad; if (current_directory[0] != '\0') *************** *** 742,748 other_args = (struct stringlist *) xmalloc (sizeof (struct stringlist)); other_args->max = 5; other_args->list = (char **) xmalloc (5 * sizeof (char *)); ! other_args->index = 1; other_args->list[0] = savestring (argv[0], strlen (argv[0])); for (i = 1; i < argc; i++) --- 742,748 ----- other_args = (struct stringlist *) xmalloc (sizeof (struct stringlist)); other_args->max = 5; other_args->list = (char **) xmalloc (5 * sizeof (char *)); ! other_args->sindex = 1; other_args->list[0] = savestring (argv[0], strlen (argv[0])); for (i = 1; i < argc; i++) *************** *** 782,788 sl = (struct stringlist *) xmalloc (sizeof (struct stringlist)); sl->max = 5; ! sl->index = 0; sl->list = (char **) xmalloc (5 * sizeof (char *)); *(struct stringlist **) cs->value_ptr = sl; } --- 782,788 ----- sl = (struct stringlist *) xmalloc (sizeof (struct stringlist)); sl->max = 5; ! sl->sindex = 0; sl->list = (char **) xmalloc (5 * sizeof (char *)); *(struct stringlist **) cs->value_ptr = sl; } *************** *** 786,792 sl->list = (char **) xmalloc (5 * sizeof (char *)); *(struct stringlist **) cs->value_ptr = sl; } ! else if (sl->index == sl->max - 1) { sl->max += 5; sl->list = (char **) --- 786,792 ----- sl->list = (char **) xmalloc (5 * sizeof (char *)); *(struct stringlist **) cs->value_ptr = sl; } ! else if (sl->sindex == sl->max - 1) { sl->max += 5; sl->list = (char **) *************** *** 793,800 xrealloc ((char *) sl->list, sl->max * sizeof (char *)); } ! sl->list[sl->index++] = savestring (arg, strlen (arg)); ! sl->list[sl->index] = 0; sw = ""; break; --- 793,800 ----- xrealloc ((char *) sl->list, sl->max * sizeof (char *)); } ! sl->list[sl->sindex++] = savestring (arg, strlen (arg)); ! sl->list[sl->sindex] = 0; sw = ""; break; *************** *** 827,833 } else { ! if (other_args->index == other_args->max - 1) { other_args->max += 5; other_args->list = (char **) --- 827,833 ----- } else { ! if (other_args->sindex == other_args->max - 1) { other_args->max += 5; other_args->list = (char **) *************** *** 834,840 xrealloc ((char *) other_args->list, other_args->max * sizeof (char *)); } ! other_args->list[other_args->index++] = argv[i]; } } --- 834,840 ----- xrealloc ((char *) other_args->list, other_args->max * sizeof (char *)); } ! other_args->list[other_args->sindex++] = argv[i]; } } *************** *** 839,845 } if (other_args != 0) ! other_args->list[other_args->index] = 0; } static void --- 839,845 ----- } if (other_args != 0) ! other_args->list[other_args->sindex] = 0; } static void *** commands.c Mon Dec 12 23:37:09 1988 --- ../patched-make/commands.c Thu Jan 5 21:57:31 1989 *************** *** 165,171 if (pid == shell_function_pid) { shell_function_pid ! = (WIFEXITED (status) && status.w_retcode == 127) ? -1 : 0; if (sig < 0 && ++dead_children > -sig) return 0; --- 165,171 ----- if (pid == shell_function_pid) { shell_function_pid ! = (WIFEXITED (status) && WRETCODE (status) == 127) ? -1 : 0; if (sig < 0 && ++dead_children > -sig) return 0; *************** *** 180,188 char buf[100]; if (WIFEXITED (status)) ! if (status.w_retcode != 0) ! sprintf (buf, "*** Error %d", status.w_retcode); ! else buf[0] = '\0'; else if (WIFSIGNALED (status)) { --- 180,188 ----- char buf[100]; if (WIFEXITED (status)) ! if (WRETCODE (status) != 0) ! sprintf (buf, "*** Error %d", WRETCODE (status)); ! else buf[0] = '\0'; else if ((WIFSIGNALED (status))) { *************** *** 184,190 sprintf (buf, "*** Error %d", status.w_retcode); else buf[0] = '\0'; ! else if (WIFSIGNALED (status)) { char *cd = status.w_coredump ? " (core dumped)" : ""; if (status.w_termsig > 0 && status.w_termsig < NSIG) --- 184,190 ----- sprintf (buf, "*** Error %d", WRETCODE (status)); else buf[0] = '\0'; ! else if ((WIFSIGNALED (status))) { char *cd = (WCOREDUMP(status) ? " (core dumped)" : ""); if (WTERMSIG (status) > 0 && WTERMSIG (status) < NSIG) *************** *** 186,194 buf[0] = '\0'; else if (WIFSIGNALED (status)) { ! char *cd = status.w_coredump ? " (core dumped)" : ""; ! if (status.w_termsig > 0 && status.w_termsig < NSIG) ! sprintf (buf, "*** %s%s", sys_siglist[status.w_termsig], cd); else sprintf (buf, "*** Signal %d%s", status.w_termsig, cd); } --- 186,194 ----- buf[0] = '\0'; else if ((WIFSIGNALED (status))) { ! char *cd = (WCOREDUMP(status) ? " (core dumped)" : ""); ! if (WTERMSIG (status) > 0 && WTERMSIG (status) < NSIG) ! sprintf (buf, "*** %s%s", sys_siglist[WTERMSIG(status)], cd); else sprintf (buf, "*** Signal %d%s", WTERMSIG(status), cd); } *************** *** 190,196 if (status.w_termsig > 0 && status.w_termsig < NSIG) sprintf (buf, "*** %s%s", sys_siglist[status.w_termsig], cd); else ! sprintf (buf, "*** Signal %d%s", status.w_termsig, cd); } else strcpy (buf, "*** Strange Error"); --- 190,196 ----- if (WTERMSIG (status) > 0 && WTERMSIG (status) < NSIG) sprintf (buf, "*** %s%s", sys_siglist[WTERMSIG(status)], cd); else ! sprintf (buf, "*** Signal %d%s", WTERMSIG(status), cd); } else strcpy (buf, "*** Strange Error");