wolfgang@coma.UUCP (Wolfgang Obst) (07/10/89)
Here are the first official patches for the shape-toolkit.
Besides the fixing of several bugs, one enhancement of shape is included:
a special macro `hosttype' is supported for people working with a network
file system on different machines.
If this macro is set to a certain value, e.g.:
hosttype = vax_ultrix_2_0
this value is used to mark the derived objects rather than the hostname.
So derived objects are `up to date' even if you change the host.
Make sure that your hosts are *really* compatible!! If you are working
with incompatible hosts (e.g. VAXEN and SUNS), you should use the
VARIANT SECTION within the Shapefile to define different variants and
define the value of `hosttype' dependent of the activated variant.
The shell archive below contains 4 files
sh_3.11.pat1
sh_3.11.pat2
sh_3.11.pat3
vc_3.31.pat1
Apply the patches sh_3.11.pat{1,2,3} within the subdirectory
.../src/shape, the patches vc_3.31.pat1 within the subdirectory
.../src/vc using the patch(1) command.
Keep on shapin'
-Wolfgang
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Wolfgang Obst TU Berlin FB-20 Sekr. FR 5-6
UUCP: {unido!}coma!wolfgang Franklinstr. 28/29
BITNET: wolfgang@db0tui62 D-1000 Berlin (West) 10
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-------------------------------- CUT HERE ----------------------------------
#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create:
# sh_3.11.pat1
# sh_3.11.pat2
# sh_3.11.pat3
# vc_3.31.pat1
# This archive created: Mon Jul 10 11:38:04 1989
export PATH; PATH=/bin:/usr/bin:$PATH
if test -f 'sh_3.11.pat1'
then
echo shar: "will not over-write existing file 'sh_3.11.pat1'"
else
cat << \SHAR_EOF > 'sh_3.11.pat1'
*** /tmp/attr.c Mon Mar 6 13:08:27 1989
--- attr.c Fri Mar 3 15:36:14 1989
***************
*** 2467,2477 ****
/* not yet complete ???? */
/* a{bc,d,e}f mactches abcf adf & aef not implemented */
int i,j;
! char result[128];
char tmp_result[64];
- static char rechars[] = "^.$?*[]{}";
-
j = 0;
for(i = 0; i < strlen(patt); i++)
--- 2467,2475 ----
/* not yet complete ???? */
/* a{bc,d,e}f mactches abcf adf & aef not implemented */
int i,j;
! static char result[128];
char tmp_result[64];
j = 0;
for(i = 0; i < strlen(patt); i++)
***************
*** 2494,2504 ****
}
}
tmp_result[j]='\0';
!
! (void) sprintf(result,"%s%s%s",(!(index(rechars,tmp_result[0]))) ? "^" : "",
! tmp_result, (!(index(rechars,tmp_result[strlen(tmp_result) - 1]))) ?
! "$" : "");
!
return(result);
}
--- 2492,2498 ----
}
}
tmp_result[j]='\0';
! (void) sprintf(result,"^%s$",tmp_result);
return(result);
}
*** /tmp/macro.c Mon Mar 6 13:17:05 1989
--- macro.c Mon Mar 6 13:21:58 1989
***************
*** 137,143 ****
line[len-1] = '\0';
return (line);
}
! /*NOTREACHED*/
}
--- 137,143 ----
line[len-1] = '\0';
return (line);
}
! return(NIL);
}
*** /tmp/version.c[1.54] Thu Mar 9 20:50:08 1989
--- version.c Thu Mar 9 20:52:35 1989
***************
*** 24,27 ****
* Tel: +49-30-314-22972
* E-mail: shape@coma.uucp or shape@db0tui62.bitnet
*/
! char *version () { static char ConfID[] = "3.11 (Mon Feb 27 11:20:46 MET 1989 by wolfgang@coma )"; return ConfID; }
--- 24,27 ----
* Tel: +49-30-314-22972
* E-mail: shape@coma.uucp or shape@db0tui62.bitnet
*/
! char *version () { static char ConfID[] = "3.11 Patchlevel_1\n\tThu Mar 9 20:51:10 MET 1989 by wolfgang@coma "; return ConfID; }
SHAR_EOF
fi
if test -f 'sh_3.11.pat2'
then
echo shar: "will not over-write existing file 'sh_3.11.pat2'"
else
cat << \SHAR_EOF > 'sh_3.11.pat2'
*** misc.c Tue Jun 13 11:08:10 1989
--- /tmp/misc.c Tue Jun 13 11:16:32 1989
***************
*** 25,117 ****
* E-mail: shape@coma.uucp or shape@db0tui62.bitnet
*/
#ifndef lint
! static char *RCSid = "$Header: misc.c,v 3.5 89/02/21 17:11:54 wolfgang Exp $";
#endif
- #ifndef lint
- static char *ConfFlg = CFFLGS; /* should be defined from within Makefile */
- #endif
/*
! * $Log: misc.c,v $
! * Revision 3.5 89/02/21 17:11:54 wolfgang
! * append_mtime changed
! *
! * Revision 3.4 89/02/20 16:26:08 wolfgang
! * NET-RELEASE
! *
! * Revision 3.3 89/02/08 16:19:55 wolfgang
! * one comment added for lint.
! * ..
! *
! * Revision 3.2 89/02/08 12:46:32 wolfgang
! * performance improved.
! *
! * Revision 3.1 89/02/06 14:26:41 wolfgang
! * bug fixed.
! *
! * Revision 3.0 89/01/24 11:36:12 wolfgang
! * New System Generation
! *
! * Revision 2.19 89/01/23 16:14:42 wolfgang
! * inheritance of uda's is now suppressed
! *
! * Revision 2.18 89/01/03 13:12:23 wolfgang
! * changes done for lint
! *
! * Revision 2.17 88/12/22 12:36:39 wolfgang
! * dummy procedure free_linklist()m added.
! *
! * Revision 2.16 88/12/21 15:11:10 wolfgang
! * changes done for lint
! *
! * Revision 2.15 88/12/19 13:21:27 wolfgang
! * is_in_forcelist added().
! *
! * Revision 2.14 88/11/23 12:35:48 wolfgang
! * Another dorpkey added.
! *
! * Revision 2.13 88/11/21 20:55:10 wolfgang
! * changes done for sun
! *
! * Revision 2.12 88/11/09 16:25:59 wolfgang
! * bugs fixed
! *
! * Revision 2.11 88/11/08 11:05:02 wolfgang
! * This version is part of a release
! *
! * Revision 2.10 88/11/03 17:29:46 wolfgang
! * calls of af_dropset added in compare_attrstring().
! *
! * Revision 2.9 88/10/10 16:54:43 wolfgang
! * changed for the -t option. if (touchflg) nothing is restored.
! *
! * Revision 2.8 88/09/23 15:54:20 wolfgang
! * bug fixed in get_attr_type (retrn values).
! *
! * Revision 2.7 88/09/22 16:15:06 wolfgang
! * clleanup_links() changed (now recursive).
! *
! * Revision 2.6 88/09/07 11:23:30 wolfgang
! * unlinking of tmp file added to cleanup_links().
! *
! * Revision 2.5 88/08/25 16:09:07 wolfgang
! * Message: ... restored from bpool changed; [busy] is supreesed and if
! * type = "" the "." is supressed.
! *
! * Revision 2.4 88/08/22 15:30:43 wolfgang
! * Two types added: syspath & host; are necessary for confid.
! *
! * Revision 2.3 88/08/22 11:24:06 wolfgang
! * Attribute string changed: added "." between name & type.
! *
! * Revision 2.2 88/08/19 10:05:59 wolfgang
! * bug fixed; if attrs were too long for bpool file, the identification
! * of the busy version had not been correct.
! * Furthermore the format of the string "... version restored ..." has
! * been changed, so that -2 .-2 for busy Version is supressed.
! *
! * Revision 2.1 88/08/18 13:19:41 wolfgang
! * minor bug fixes; mtime added to identification string of derived objects
! *
*/
#include <sys/types.h>
--- 25,34 ----
* E-mail: shape@coma.uucp or shape@db0tui62.bitnet
*/
#ifndef lint
! static char *AFSid = "$__Header$";
#endif
/*
! * $__Log$
*/
#include <sys/types.h>
***************
*** 471,479 ****
Af_attrs *buf;
int recdepth;
{
! char attributes[MAX_ATTR];
! (void) sprintf(attributes,"%s%s%s%s%s%d%d%d%d",
buf->af_name,
".",
buf->af_type,
--- 388,406 ----
Af_attrs *buf;
int recdepth;
{
! char attributes[MAXATTRLENGTH];
! static char pnt[MAXNAMLEN];
! char x[MAXNAMLEN];
! int len = 0;
! (void) sprintf(x,"%s%s%s%s",buf->af_syspath,buf->af_name,".",buf->af_type);
! if (!strcmp(x,pnt))
! return;
! else
! (void) (strcpy(pnt,x));
! if (!strcmp(expandmacro("$(hosttype)","")))
! {
! (void) sprintf(attributes,"%s%s%s%s%s%d%d%d%d",
buf->af_name,
".",
buf->af_type,
***************
*** 496,514 ****
buf->af_stime,
buf->af_ltime */
);
/* i = 0;
while(buf->af_udattrs[i] != NIL)
{
! if ((strlen(attributes) + strlen(buf->af_udattrs[i])) >= MAX_ATTR)
errexit(29,NIL);
(void) strcat(attributes,buf->af_udattrs[i]);
i++;
}
*/
! if ((strlen(attributes) + strlen(longattrs[recdepth])) >= MAX_ATTR)
! errexit(29,NIL);
!
(void) strcat(longattrs[recdepth],attributes);
#ifdef DEBUG_MISC
--- 423,470 ----
buf->af_stime,
buf->af_ltime */
);
+ }
+ else
+ {
+ (void) sprintf(attributes,"%s%s%s%s%s%d%d%d%d",
+ buf->af_name,
+ ".",
+ buf->af_type,
+ expandmacro("$(hosttype)"),
+ buf->af_syspath,
+ buf->af_gen,
+ buf->af_rev,
+ buf->af_state,
+ buf->af_mtime /* ,
+ buf->af_owner.af_username,
+ buf->af_owner.af_userhost,
+ buf->af_author.af_username,
+ buf->af_author.af_userhost,
+ buf->af_locker.af_username,
+ buf->af_locker.af_userhost,
+ buf->af_size,
+ buf->af_mode,
+ buf->af_atime,
+ buf->af_ctime,
+ buf->af_stime,
+ buf->af_ltime */
+ );
+ }
+
/* i = 0;
while(buf->af_udattrs[i] != NIL)
{
! if ((strlen(attributes) + strlen(buf->af_udattrs[i])) >= MAXATTRLENGTH)
errexit(29,NIL);
(void) strcat(attributes,buf->af_udattrs[i]);
i++;
}
*/
! len = strlen(longattrs[recdepth]);
! if ((longattrs[recdepth] = realloc(longattrs[recdepth],
! (unsigned) ( len + strlen(attributes) + sizeof(char)))) == NIL)
! errexit(10,"realloc");
(void) strcat(longattrs[recdepth],attributes);
#ifdef DEBUG_MISC
***************
*** 524,530 ****
{
char time[64];
/* (void) sprintf(time,"%d",testbuf->af_mtime);
! (void) strcat(longattrs[recdepth],time); */
}
--- 480,486 ----
{
char time[64];
/* (void) sprintf(time,"%d",testbuf->af_mtime);
! */
}
*** version.c Tue Jun 13 11:35:08 1989
--- /tmp/version.c Tue Jun 13 11:35:17 1989
***************
*** 24,27 ****
* Tel: +49-30-314-22972
* E-mail: shape@coma.uucp or shape@db0tui62.bitnet
*/
! char *version () { static char ConfID[] = "3.11 Patchlevel_1\n\tThu Mar 9 20:51:10 MET 1989 by wolfgang@coma "; return ConfID; }
--- 24,27 ----
* Tel: +49-30-314-22972
* E-mail: shape@coma.uucp or shape@db0tui62.bitnet
*/
! char *version () { static char ConfID[] = "3.11 Patchlevel_2\n\tTue Jun 13 11:34:10 MET DST 1989 by wolfgang@coma "; return ConfID; }
*** /u/shape/shapetools/src/shape/produce.c Mon Feb 27 17:16:59 1989
--- produce.c Wed Jun 28 14:55:57 1989
***************
*** 305,312 ****
(void) strcat(comm," ");
j = j + strlen(curdep) + 1;
}
- k++;
curdep = cur->deplist[k];
}
}
i = i + 2;
--- 305,312 ----
(void) strcat(comm," ");
j = j + strlen(curdep) + 1;
}
curdep = cur->deplist[k];
+ k++;
}
}
i = i + 2;
SHAR_EOF
fi
if test -f 'sh_3.11.pat3'
then
echo shar: "will not over-write existing file 'sh_3.11.pat3'"
else
cat << \SHAR_EOF > 'sh_3.11.pat3'
*** /u/shape/shapetools/src/shape/shape.l Mon Feb 27 18:59:29 1989
--- shape.l Fri Jun 30 11:00:21 1989
***************
*** 136,142 ****
Macroname [0-9a-zA-Z_-]
Vcl "::=".*
Vclass "vclass"{Layout}*{Ruledef}{Nocomment}
! Macrodef {Macroname}+{Layout}*"="{Layout}*{Nocomment}
Rulesecstart "#%"{Layout}*"RULE-SECTION"{Layout}*
Rulesecend "#%"{Layout}*"END-RULE-SECTION"{Layout}*
Selectionrule {Rulesecstart}+{Any2}*{Rulesecend}+
--- 136,142 ----
Macroname [0-9a-zA-Z_-]
Vcl "::=".*
Vclass "vclass"{Layout}*{Ruledef}{Nocomment}
! Macrodef {Layout}*{Macroname}+{Layout}*"="{Layout}*{Nocomment}
Rulesecstart "#%"{Layout}*"RULE-SECTION"{Layout}*
Rulesecend "#%"{Layout}*"END-RULE-SECTION"{Layout}*
Selectionrule {Rulesecstart}+{Any2}*{Rulesecend}+
*** /u/shape/shapetools/src/shape/produce.c Mon Feb 27 17:16:59 1989
--- produce.c Fri Jun 30 11:19:59 1989
***************
*** 1126,1131 ****
--- 1126,1133 ----
if (noexflg)
{
+ if(cmd[0] == '@')
+ cmd++;
printf("%s\n", cmd);
(void) fflush(stdout);
reallydone = TRUE;
*** /u/shape/shapetools/src/shape/version.c Fri Jun 30 11:58:20 1989
--- version.c Fri Jun 30 12:00:05 1989
***************
*** 24,27 ****
* Tel: +49-30-314-22972
* E-mail: shape@coma.uucp or shape@db0tui62.bitnet
*/
! char *version () { static char ConfID[] = "3.11 Patchlevel_2\n\tTue Jun 13 11:34:10 MET DST 1989 by wolfgang@coma "; return ConfID; }
--- 24,27 ----
* Tel: +49-30-314-22972
* E-mail: shape@coma.uucp or shape@db0tui62.bitnet
*/
! char *version () { static char ConfID[] = "3.11 Patchlevel_3\n\tThu Mar 9 20:51:10 MET 1989 by wolfgang@coma "; return ConfID; }
SHAR_EOF
fi
if test -f 'vc_3.31.pat1'
then
echo shar: "will not over-write existing file 'vc_3.31.pat1'"
else
cat << \SHAR_EOF > 'vc_3.31.pat1'
*** mkattr.c Thu Mar 9 22:26:51 1989
--- /tmp/mkattr.c[3.8] Thu Mar 9 22:41:29 1989
***************
*** 1,5 ****
#ifndef lint
! static char *AFSid = "$Header: mkattr.c[3.6] Thu Feb 23 18:13:34 1989 axel@coma published $";
#ifdef CFFLGS
static char *ConfFlg = CFFLGS;
/* should be defined from within Makefile */
--- 1,5 ----
#ifndef lint
! static char *AFSid = "$Header: mkattr.c[3.8] Thu Mar 9 22:41:28 1989 axel@coma published $";
#ifdef CFFLGS
static char *ConfFlg = CFFLGS;
/* should be defined from within Makefile */
***************
*** 6,18 ****
#endif
#endif
/*
! * Log for /u/shape/dist-tape/src/vc/mkattr.c[3.2]
! * Thu Feb 23 18:13:34 1989 axel@coma published $
* --- empty log message ---
! * mkattr.c[3.5] Thu Feb 23 18:13:34 1989 axel@coma published $
* --- empty log message ---
! * mkattr.c[3.6] Thu Feb 23 18:13:34 1989 axel@coma published $
* --- empty log message ---
*/
/*LINTLIBRARY*/
--- 6,24 ----
#endif
#endif
/*
! * Log for /u/axel/shape/apps/PATCH/mkattr.c[3.2]
! * Thu Mar 9 22:41:28 1989 axel@coma published $
* --- empty log message ---
! * mkattr.c[3.5] Thu Mar 9 22:41:28 1989 axel@coma published $
* --- empty log message ---
! * mkattr.c[3.6] Thu Mar 9 22:41:28 1989 axel@coma published $
* --- empty log message ---
+ * mkattr.c[3.7] Thu Mar 9 22:41:28 1989 axel@coma save $
+ * --- empty log message ---
+ * mkattr.c[3.8] Thu Mar 9 22:41:28 1989 axel@coma published $
+ * Corrected the regexp(3) pattern for distinguishing genuine version-numbers
+ * from symbolic names that contain numbers (e.g. rel1.0a).
+ *
*/
/*LINTLIBRARY*/
***************
*** 40,46 ****
char *emsg, *re_comp();
int genno, revno, rc;
! if (emsg = re_comp("[0-9][0-9]*\\.[0-9][0-9]*")) { /* quite liberal RE */
logerr (emsg);
return 0;
}
--- 46,52 ----
char *emsg, *re_comp();
int genno, revno, rc;
! if (emsg = re_comp("^[0-9][0-9]*\\.[0-9][0-9]*$")) { /* quite liberal RE */
logerr (emsg);
return 0;
}
*** dosave.c Fri Mar 10 20:03:02 1989
--- /tmp/dosave.c[3.22] Fri Mar 10 20:04:16 1989
***************
*** 1,5 ****
#ifndef lint
! static char *AFSid = "$Header: dosave.c[3.21] Thu Feb 23 18:13:30 1989 axel@coma published $";
#ifdef CFFLGS
static char *ConfFlg = CFFLGS;
/* should be defined from within Makefile */
--- 1,5 ----
#ifndef lint
! static char *AFSid = "$Header: dosave.c[3.22] Fri Mar 10 20:04:16 1989 axel@coma published $";
#ifdef CFFLGS
static char *ConfFlg = CFFLGS;
/* should be defined from within Makefile */
***************
*** 6,30 ****
#endif
#endif
/*
! * Log for /u/shape/dist-tape/src/vc/dosave.c[3.8]
! * Thu Feb 23 18:13:30 1989 axel@coma save $
* Intention for change:
* This is still a test. A minute ago, I was able to set an intention
* but now I doubt, that I'll be allowed to set a user defined attribute
* to the bus
! * dosave.c[3.9] Thu Feb 23 18:13:30 1989 axel@coma save $
* Intention for change:
* This is still a test. A minute ago, I was able to set an intention
* but now I doubt, that I'll be allowed to set a user defined attribute
* to the bus
! * dosave.c[3.15] Thu Feb 23 18:13:30 1989 axel@coma published $
* --- empty log message ---
! * dosave.c[3.19] Thu Feb 23 18:13:30 1989 axel@coma published $
* --- empty log message ---
! * dosave.c[3.20] Thu Feb 23 18:13:30 1989 axel@coma save $
* --- empty log message ---
! * dosave.c[3.21] Thu Feb 23 18:13:30 1989 axel@coma published $
! * --- empty log message ---
*/
#include <strings.h>
--- 6,42 ----
#endif
#endif
/*
! * Log for /u/axel/shape/apps/PATCH/dosave.c[3.8]
! * Fri Mar 10 20:04:16 1989 axel@coma save $
* Intention for change:
* This is still a test. A minute ago, I was able to set an intention
* but now I doubt, that I'll be allowed to set a user defined attribute
* to the bus
! * dosave.c[3.9] Fri Mar 10 20:04:16 1989 axel@coma save $
* Intention for change:
* This is still a test. A minute ago, I was able to set an intention
* but now I doubt, that I'll be allowed to set a user defined attribute
* to the bus
! * dosave.c[3.15] Fri Mar 10 20:04:16 1989 axel@coma published $
* --- empty log message ---
! * dosave.c[3.19] Fri Mar 10 20:04:16 1989 axel@coma published $
* --- empty log message ---
! * dosave.c[3.21] Fri Mar 10 20:04:16 1989 axel@coma published $
* --- empty log message ---
! * dosave.c[3.22] Fri Mar 10 20:04:16 1989 axel@coma published $
! * dosave.c[3.23] Fri Mar 10 16:21:55 1989 axel@coma save $
! * dosave.c[3.22]:
! * In case of 'sbmt' with the -setvnum option, there was a problem when
! * a version was unchanged, and the last saved version had status "published".
! * sbmt complained about "version number too small". It is a feature of
! * AFS, that version numbers of objects with a status > proposed are
! * inalterable. "dosave" now sets the version number *before* the status
! * is set to published.
! *
! * Fixed a similar bug as in the previous version. It hit when submitting
! * a version with setvnum and no other saved versions exist. I also improved
! * SaveAVersion's strange and inconsistent diagnostic behaviour.
! *
*/
#include <strings.h>
***************
*** 75,81 ****
char spath[MAXNAMLEN], origpath[MAXNAMLEN], name[MAXNAMLEN],
*afname, *aftype, *afvariant = NULL, str[80], messg[80], *note,
*getnote(), *gettxt(), *vnum(), *getattr(), *as;
! int truth = TRUE;
Af_attrs reqattrs, busyattrs, sattrs;
Af_key busy, lastsave, skey, *newkey, ngkey, tmpkey;
Af_set junkset;
--- 87,93 ----
char spath[MAXNAMLEN], origpath[MAXNAMLEN], name[MAXNAMLEN],
*afname, *aftype, *afvariant = NULL, str[80], messg[80], *note,
*getnote(), *gettxt(), *vnum(), *getattr(), *as;
! int truth = TRUE, chflag = TRUE;
Af_attrs reqattrs, busyattrs, sattrs;
Af_key busy, lastsave, skey, *newkey, ngkey, tmpkey;
Af_set junkset;
***************
*** 154,165 ****
}
newkey = &skey;
ThisTransaction.tr_done = TRUE;
- if (options & SUBMIT) {
- af_sstate (newkey, AF_PROPOSED);
- af_sstate (newkey, AF_PUBLISHED);
- }
- (void)sprintf (messg, "saved version %s", vnum (newkey));
- logmsg (messg);
} /* This was handling of newly created archive */
else {
#ifdef PROJIMPL
--- 166,171 ----
***************
*** 172,178 ****
af_dropkey (&busy);
abort_this (FALSE);
}
! if (changed (&busy, &lastsave, &truth)) {
/* Version alias problem: copy or ref */
if (options & TXTFSET) {
note = gettxt (tfname);
--- 178,184 ----
af_dropkey (&busy);
abort_this (FALSE);
}
! if (chflag = changed (&busy, &lastsave, &truth)) {
/* Version alias problem: copy or ref */
if (options & TXTFSET) {
note = gettxt (tfname);
***************
*** 197,239 ****
newkey = &skey;
ThisTransaction.tr_done = TRUE;
af_sudattr (newkey, AF_REMOVE, INTENT);
- if (options & NEWGEN) {
- if (myproject(proj)) {
- af_newgen (newkey, &ngkey);
- (void)sprintf (messg,
- "saved version %s (aliassed by ",
- vnum (newkey));
- (void)sprintf (messg, "%s%s due to new generation)", messg, vnum(&ngkey));
- logmsg (messg);
- af_dropkey (newkey);
- newkey = &ngkey;
- if (options & SUBMIT)
- setpublished (newkey);
- }
- else {
- logmsg ("You must be project-admin to increase generation number.");
- }
- }
- else {
- (void)sprintf (messg, "saved version %s", vnum (newkey));
- logmsg (messg);
- if (options & SUBMIT)
- setpublished (newkey);
- }
}
! else {
if (options & SUBMIT) {
char *intent = (char *)0;
! intent = af_rudattr (&busy, INTENT);
! note = getnote ("Do you want to comment your modifications ?", truth,
FALSE, intent);
if (intent) free (intent);
- af_sudattr (&busy, AF_REMOVE, INTENT);
- setpublished (&lastsave);
- (void)sprintf
- (messg, "%s set to state \"published\" (no changes to be saved)",
- fname);
- logmsg (messg);
newkey = &lastsave;
}
else {
--- 203,215 ----
newkey = &skey;
ThisTransaction.tr_done = TRUE;
af_sudattr (newkey, AF_REMOVE, INTENT);
}
! else { /* version is unchanged */
if (options & SUBMIT) {
char *intent = (char *)0;
! note = getnote ("Do you want to state a comment ?", truth,
FALSE, intent);
if (intent) free (intent);
newkey = &lastsave;
}
else {
***************
*** 253,258 ****
--- 229,244 ----
as = str;
af_sudattr (newkey, AF_ADD, as);
}
+ if (options & NEWGEN) {
+ if (myproject(proj)) {
+ af_newgen (newkey, &ngkey);
+ af_dropkey (newkey);
+ newkey = &ngkey;
+ }
+ else {
+ logmsg ("You must be project-admin to increase generation number.");
+ }
+ }
if (options & SETVNUM) {
if (!(mkvno(vnum(newkey)) == newvnum)) { /* do nothing */
if (af_svnum (newkey, gen(newvnum), rev(newvnum)) < 0) {
***************
*** 262,267 ****
--- 248,257 ----
}
}
}
+ if (options & SUBMIT) setpublished (newkey);
+ (void)sprintf (messg, "%s version %s%s.", (options & SUBMIT) ? "published" :
+ "saved", vnum (newkey), truth ? "" : " (no changes)");
+ logmsg (messg);
if (options & ATTRDEF) {
as = getattr (atr_fname, proj, aftype, REWIND);
af_sudattr (newkey, AF_ADD, as);
*** version.c Thu Mar 9 22:38:31 1989
--- /tmp/version.c[3.32] Thu Mar 9 22:42:20 1989
***************
*** 2,7 ****
* Prototype version procedure
*/
char *version () {
! static char ConfID[] = "3.31 (Wed Feb 22 16:31:32 1989 by axel@coma)";
return ConfID;
}
--- 2,7 ----
* Prototype version procedure
*/
char *version () {
! static char ConfID[] = "3.31 Patchlevel_1\n\tThu Mar 9 22:34:20 MET 1989 by axel@coma)";
return ConfID;
}
*** Makefile Tue Mar 14 18:14:31 1989
--- /tmp/Makefile[1.3] Tue Mar 14 18:21:00 1989
***************
*** 1,18 ****
#
! # $Header: Makefile[1.2] Thu Feb 23 18:13:23 1989 axel@coma published $
#
! # Log for /u/shape/dist-tape/src/vc/Makefile[1.0]
! # Thu Feb 23 18:13:23 1989 axel@coma save $
# This Makefile is solely intended for the bootstrap installation
# of the SHAPE version-control system. It should be invoked by a
# master Make 'install' process defining the macros BASE, SYSTEM, and
# possibly CONFIG from the commandline.
#
! # Makefile[1.1] Thu Feb 23 18:13:23 1989 axel@coma published $
# added target 'depend:'. Works very nice.
#
! # Makefile[1.2] Thu Feb 23 18:13:23 1989 axel@coma published $
# --- empty log message ---
#
#
# Makefile for Version Control System
--- 1,22 ----
#
! # $Header: Makefile[1.3] Tue Mar 14 18:21:00 1989 axel@coma save $
#
! # Log for /u/axel/shape/apps/PATCH/Makefile[1.0]
! # Tue Mar 14 18:21:00 1989 axel@coma save $
# This Makefile is solely intended for the bootstrap installation
# of the SHAPE version-control system. It should be invoked by a
# master Make 'install' process defining the macros BASE, SYSTEM, and
# possibly CONFIG from the commandline.
#
! # Makefile[1.1] Tue Mar 14 18:21:00 1989 axel@coma published $
# added target 'depend:'. Works very nice.
#
! # Makefile[1.2] Tue Mar 14 18:21:00 1989 axel@coma published $
# --- empty log message ---
+ # Makefile[1.3] Tue Mar 14 18:21:00 1989 axel@coma save $
+ # Fixed the rule for the installation. It installed in the wrong place
+ # and made the wrong (if any) links.
+ #
#
#
# Makefile for Version Control System
***************
*** 45,54 ****
INSTALOWNER = shape
INSTALGROUP = unib
- BUCKS = $$
-
- CC = cc -DCFFLGS='"$(BUCKS)Flags: <$<> $(CFLAGS) $$"'
-
CFLAGS = -g -D$(SYSTEM) $(CONFIG) -I$(INCLUDEDIR)
LDFLAGS = -g
--- 49,54 ----
***************
*** 151,157 ****
install: all
@echo -n installing version control system in $(INSTALDIR)...; \
! (cd $(BASE)/bin; rm -f save retrv vadm vl sbmt vcat vlog) ; \
echo -n .; \
install -c -m 755 save $(INSTALDIR); \
echo -n .; \
--- 151,157 ----
install: all
@echo -n installing version control system in $(INSTALDIR)...; \
! (cd $(INSTALDIR); rm -f save retrv vadm vl sbmt vcat vlog) ; \
echo -n .; \
install -c -m 755 save $(INSTALDIR); \
echo -n .; \
***************
*** 161,171 ****
echo -n .; \
install -c -m 755 vl $(INSTALDIR); \
echo -n .; \
ln save sbmt; \
echo -n .; \
ln retrv vcat; \
echo -n .; \
! ln vl vlog; \
echo done
depend:
--- 161,172 ----
echo -n .; \
install -c -m 755 vl $(INSTALDIR); \
echo -n .; \
+ (cd $(INSTALDIR); \
ln save sbmt; \
echo -n .; \
ln retrv vcat; \
echo -n .; \
! ln vl vlog); \
echo done
depend:
SHAR_EOF
fi
exit 0
# End of shell archivewolfgang@coma.UUCP (Wolfgang Obst) (08/21/89)
Here are the second official patches for the shape-toolkit.
The shell archive below conatins 3 files:
sh_3.11.pat5
sh_3.11.pat6
vc_3.31.pat2
Apply the patches sh_3.11.pat{5,6} within the subdirectory
.../src/shape, the patches vc_3.31.pat2 within the subdirectory
.../src/vc using the patch(1) command.
Keep on shapin'
-Wolfgang
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Wolfgang Obst TU Berlin FB-20 Sekr. FR 5-6
UUCP: {unido!}coma!wolfgang Franklinstr. 28/29
BITNET: wolfgang@db0tui62 D-1000 Berlin (West) 10
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
------------------------------- CUT HER -----------------------------------
#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create:
# SHAPE.PATCH.3
# sh_3.11.pat5
# sh_3.11.pat6
# vc_3.31.pat2
# This archive created: Mon Aug 21 16:51:50 1989
export PATH; PATH=/bin:/usr/bin:$PATH
if test -f 'SHAPE.PATCH.3'
then
echo shar: "will not over-write existing file 'SHAPE.PATCH.3'"
else
cat << \SHAR_EOF > 'SHAPE.PATCH.3'
SHAR_EOF
fi
if test -f 'sh_3.11.pat5'
then
echo shar: "will not over-write existing file 'sh_3.11.pat5'"
else
cat << \SHAR_EOF > 'sh_3.11.pat5'
*** rule.c Thu Aug 10 11:55:58 1989
--- rule.c.new Thu Aug 10 11:56:12 1989
***************
*** 300,305 ****
--- 300,306 ----
int jjj = 0;
int kkk = 0;
int xx = 0;
+ int xx2;
int ss = 0;
int minus = 0;
Bool src_found = FALSE;
***************
*** 362,367 ****
--- 363,370 ----
{
if((current = ruletab[hasht] = (struct rules *) malloc( sizeof(struct rules))) == (struct rules *)NIL)
errexit(10,"malloc");
+ for(xx2 = 0; xx2 < MAXDEPS; xx2++)
+ current->deplist[xx2] = NIL;
}
else
{
***************
*** 423,428 ****
--- 426,433 ----
{
if((current = current->nextrule = (struct rules *) malloc( sizeof(struct rules))) == (struct rules *)NIL)
errexit(10,"malloc");
+ for(xx2 = 0; xx2 < MAXDEPS; xx2++)
+ current->deplist[xx2] = NIL;
}
}
}
***************
*** 430,435 ****
--- 435,442 ----
{
if((current = stdruletab[lastrule] = (struct rules *) malloc( sizeof(struct rules))) == (struct rules *) NIL)
errexit(10,"malloc");
+ for(xx2 = 0; xx2 < MAXDEPS; xx2++)
+ current->deplist[xx2] = NIL;
overload_stdrule();
implicit_suffs[lastrule] = lastrule;
lastrule++;
*** version.c Thu Aug 10 12:00:20 1989
--- version.c.new Thu Aug 10 12:01:39 1989
***************
*** 24,27 ****
* Tel: +49-30-314-22972
* E-mail: shape@coma.uucp or shape@db0tui62.bitnet
*/
! char *version () { static char ConfID[] = "3.11 Patchlevel_4\n\tFri Jul 21 17:35:35 MET DST 1989 by wolfgang@coma "; return ConfID; }
--- 24,27 ----
* Tel: +49-30-314-22972
* E-mail: shape@coma.uucp or shape@db0tui62.bitnet
*/
! char *version () { static char ConfID[] = "3.11 Patchlevel_5\n\tThu Aug 10 12:01:08 MET DST 1989 by wolfgang@coma "; return ConfID; }
SHAR_EOF
fi
if test -f 'sh_3.11.pat6'
then
echo shar: "will not over-write existing file 'sh_3.11.pat6'"
else
cat << \SHAR_EOF > 'sh_3.11.pat6'
Only in /u/shape/shapetools/src/shape: Makefile
Only in /u/shape/shapetools/src/shape: Makefile.distribution
Only in /u/shape/shapetools/src/shape: PATCH
Only in /u/shape/shapetools/src/shape: attr.c.orig
diff -c /u/shape/shapetools/src/shape/inherit.c ./inherit.c
*** /u/shape/shapetools/src/shape/inherit.c Mon Feb 27 17:17:03 1989
--- ./inherit.c Fri Aug 18 15:27:18 1989
***************
*** 288,294 ****
else
(void) sprintf(attr,"%sversion=%d.%d",attr,AF_BUSYVERS,AF_BUSYVERS); */
(void) strcat(attr, longattrs[depth]);
! (void) strcpy(longattrs[depth],attr);
return(attr);
}
--- 288,298 ----
else
(void) sprintf(attr,"%sversion=%d.%d",attr,AF_BUSYVERS,AF_BUSYVERS); */
(void) strcat(attr, longattrs[depth]);
! free(longattrs[depth]);
! if((longattrs[depth] = malloc((unsigned) strlen(attr) +
! sizeof(char))) == NIL)
! errexit(10,"malloc");
! (void) strcpy(longattrs[depth],attr);
return(attr);
}
diff -c /u/shape/shapetools/src/shape/macro.c ./macro.c
*** /u/shape/shapetools/src/shape/macro.c Wed Mar 15 17:01:45 1989
--- ./macro.c Fri Aug 18 17:14:15 1989
***************
*** 30,108 ****
#ifndef lint
static char *ConfFlg = CFFLGS; /* should be defined from within Makefile */
#endif
- /*
- * $Log: macro.c,v $
- * Revision 3.2 89/02/20 16:25:49 wolfgang
- * NET-RELEASE
- *
- * Revision 3.1 89/02/08 12:45:34 wolfgang
- * performance improved.
- *
- * Revision 3.0 89/01/24 11:35:54 wolfgang
- * New System Generation
- *
- * Revision 2.19 89/01/03 13:11:05 wolfgang
- * changes done for lint
- *
- * Revision 2.18 88/12/21 15:03:44 wolfgang
- * changes done for lint
- *
- * Revision 2.17 88/12/15 16:16:23 wolfgang
- * bug fixed in get_macros (segmantation violation on sissy (SUN))
- *
- * Revision 2.16 88/11/21 20:56:56 wolfgang
- * changes done for sun
- *
- * Revision 2.15 88/11/18 15:01:18 wolfgang
- * bug fixed: ::= indicates no longer a macrodef.
- *
- * Revision 2.14 88/11/04 16:41:58 wolfgang
- * variant macros no are accumulated.
- *
- * Revision 2.13 88/10/27 16:37:40 wolfgang
- * bugs fixed (new variant handling).
- *
- * Revision 2.12 88/10/20 13:20:56 wolfgang
- * bug fixed in get_variant_macro.
- *
- * Revision 2.11 88/10/18 17:41:12 wolfgang
- * new handling for variants implemented. macro expansion changed.
- *
- * Revision 2.10 88/10/14 17:14:10 wolfgang
- * new procedure: get_variant_macro added and changes don for new
- * handling of variants.
- *
- * Revision 2.9 88/10/13 12:03:24 wolfgang
- * handle_comments changed: white space is now required after #%.
- *
- * Revision 2.8 88/09/16 13:30:57 wolfgang
- * getlin changed. In continuation lines one leading TAB is now suppressd.
- *
- * Revision 2.7 88/09/09 11:40:31 wolfgang
- * little bug fixed.
- *
- * Revision 2.6 88/09/08 11:57:51 wolfgang
- * handle_comments(line) improved: # are allowed in quotes.
- *
- * Revision 2.5 88/09/08 11:48:29 wolfgang
- * handle_comments improved: kills commenmts if there are no quotes.
- *
- * Revision 2.4 88/09/08 10:32:55 wolfgang
- * handle_comments(line) added. Now comments are allowed in rule- and
- * variant-section, respectively.
- *
- * Revision 2.3 88/09/07 11:22:38 wolfgang
- * get_macros changed; the files are copied into a tmp file which is
- * the input file for yylex.
- *
- * Revision 2.2 88/08/23 16:33:21 wolfgang
- * In dump() now \t is supressed for generating confid's (im macrodefinitions
- * \t is not allowed as first char.
- *
- * Revision 2.1 88/08/19 10:17:33 wolfgang
- * This version is part of a release
- *
- */
#include <stdio.h>
#include <sys/types.h>
--- 30,35 ----
***************
*** 118,124 ****
char *template = "/tmp/shapeXXXXXX";
FILE *temp;
-
char *curvpath[8] = {NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL};
char *errstring;
int macdepth;
--- 45,50 ----
***************
*** 145,150 ****
--- 71,77 ----
char line[MAXLINELENGTH];
char line2[MAXLINELENGTH];
int len = 0;
+ int off;
while (fgets(line, MAXLINELENGTH, file)) /* getc ????? */
{
len = strlen(line);
***************
*** 154,160 ****
line[len-1] = '\0';
(void) fgets(line2, MAXLINELENGTH, file);
if(line2[0] == '\t')
! (void) strcat(line,&line2[1]);
else
(void) strcat(line,line2);
len = strlen(line);
--- 81,92 ----
line[len-1] = '\0';
(void) fgets(line2, MAXLINELENGTH, file);
if(line2[0] == '\t')
! {
! off = 0;
! while((line2[off] == '\t') || (line2[off] == ' '))
! off++;
! (void) strcat(line,&line2[off]);
! }
else
(void) strcat(line,line2);
len = strlen(line);
***************
*** 226,237 ****
if (!line)
return;
- if ((name = malloc(MACRONAM)) == NIL)
- errexit(10,"malloc");
- if((value = malloc(MACROVAL)) == NIL)
- errexit(10,"malloc");
if((line2 = malloc(MAXLINELENGTH)) == NIL)
errexit(10,"malloc");
if (*line != '\t')
{
p1 = index(line,'=');
--- 158,166 ----
if (!line)
return;
if((line2 = malloc(MAXLINELENGTH)) == NIL)
errexit(10,"malloc");
+
if (*line != '\t')
{
p1 = index(line,'=');
***************
*** 256,264 ****
value = p1;
if (strcmp(name,IMPORT) != 0)
{
- #ifdef DEBUG_MACRO
- printf("name=#%s#\nvalue=#%s#\n\n", name, value);
- #endif DEBUG_MACRO
hashv = hashval(name);
addhash(hashv,name,value);
if (strcmp(name,"VPATH") == 0)
--- 185,190 ----
***************
*** 286,294 ****
}
}
}
- free(name);
free(line2);
! free(value);
}
char *expandmacro(inpstring)
--- 212,219 ----
}
}
}
free(line2);
!
}
char *expandmacro(inpstring)
***************
*** 306,315 ****
char *start;
char newstr[MAXLINELENGTH];
char *string;
! char *mist;
char *variant_macro = NIL;
Bool dollar;
dollar = FALSE;
if (macdepth == 0)
errstring = inpstring;
--- 231,241 ----
char *start;
char newstr[MAXLINELENGTH];
char *string;
! char mist[2048];
char *variant_macro = NIL;
Bool dollar;
dollar = FALSE;
+
if (macdepth == 0)
errstring = inpstring;
***************
*** 318,326 ****
--- 244,256 ----
if (macdepth == 50)
errexit(25, errstring);
+ if(index(inpstring,'$') == NIL)
+ return(inpstring);
+
newstr[0] = '\0';
if ((string = malloc((unsigned) (strlen(inpstring) + sizeof(char)))) == NIL)
errexit(10,"malloc");
+
(void) strcpy(string,inpstring);
p = string;
***************
*** 332,337 ****
--- 262,268 ----
{
list[ii] = p;
ii++;
+ list[ii] = NIL;
dollar = FALSE;
}
if (ii > 100)
***************
*** 385,395 ****
variant_macro = get_variant_macro(name);
if (strcmp(variant_macro,BLUMENKOHL))
{
! mist = expandmacro(variant_macro);
if ((list[ii] =
malloc((unsigned)
(strlen(mist) + sizeof(char)))) == NIL)
errexit(10,"malloc");
(void) strcpy(list[ii],mist);
ii++;
if (ii > 100)
--- 316,327 ----
variant_macro = get_variant_macro(name);
if (strcmp(variant_macro,BLUMENKOHL))
{
! (void) strcpy(mist,expandmacro(variant_macro));
if ((list[ii] =
malloc((unsigned)
(strlen(mist) + sizeof(char)))) == NIL)
errexit(10,"malloc");
+ list[ii+1] = NIL;
(void) strcpy(list[ii],mist);
ii++;
if (ii > 100)
***************
*** 408,418 ****
if ((strcmp(current->name, name) == 0))
{
! mist = expandmacro(current->entry);
if ((list[ii] =
malloc((unsigned)
(strlen(mist) + sizeof(char)))) == NIL)
errexit(10,"malloc");
(void) strcpy(list[ii],mist);
ii++;
if (ii > 100)
--- 340,351 ----
if ((strcmp(current->name, name) == 0))
{
! (void) strcpy(mist,expandmacro(current->entry));
if ((list[ii] =
malloc((unsigned)
(strlen(mist) + sizeof(char)))) == NIL)
errexit(10,"malloc");
+ list[ii+1] = NIL;
(void) strcpy(list[ii],mist);
ii++;
if (ii > 100)
***************
*** 424,430 ****
}
}
for (j = 0; j < ii; j++)
! (void) strcat(newstr,list[j]);
macdepth = 0;
return newstr;
} /*end expandmacro */
--- 357,366 ----
}
}
for (j = 0; j < ii; j++)
! {
! (void) strcat(newstr,list[j]);
! }
! free(string);
macdepth = 0;
return newstr;
} /*end expandmacro */
Only in /u/shape/shapetools/src/shape: macro.c.orig
diff -c /u/shape/shapetools/src/shape/main.c ./main.c
*** /u/shape/shapetools/src/shape/main.c Mon Feb 27 17:17:01 1989
--- ./main.c Fri Aug 18 16:05:45 1989
***************
*** 187,193 ****
#ifdef MEMDEBUG
memprot = fopen ("memprot", "w");
#endif
-
rebuildflg = FALSE;
bpoolflg = TRUE;
--- 187,192 ----
Only in /u/shape/shapetools/src/shape: misc.c.orig
diff -c /u/shape/shapetools/src/shape/produce.c ./produce.c
*** /u/shape/shapetools/src/shape/produce.c Fri Jun 30 12:03:00 1989
--- ./produce.c Fri Aug 18 15:27:35 1989
***************
*** 1116,1126 ****
Bool ignflg = FALSE;
char *rc;
Bool silflg;
!
cmd = repl_string(cmd);
silflg = silentflg;
!
while((cmd[0] == '\t') || (cmd[0] == ' ') || (cmd[0] == '\n'))
*cmd++;
--- 1116,1128 ----
Bool ignflg = FALSE;
char *rc;
Bool silflg;
! char *free_cmd_ptr;
! char *old_cmd;
! old_cmd = cmd;
cmd = repl_string(cmd);
silflg = silentflg;
! free_cmd_ptr = cmd;
while((cmd[0] == '\t') || (cmd[0] == ' ') || (cmd[0] == '\n'))
*cmd++;
***************
*** 1170,1176 ****
}
}
}
! free(cmd);
}
--- 1172,1179 ----
}
}
}
! if(old_cmd != free_cmd_ptr)
! free(free_cmd_ptr);
}
Only in /u/shape/shapetools/src/shape: produce.c.orig
Only in /u/shape/shapetools/src/shape: rule.c.orig
Only in /u/shape/shapetools/src/shape: shape.l.orig
Only in .: shape.sh
diff -c /u/shape/shapetools/src/shape/std.c ./std.c
*** /u/shape/shapetools/src/shape/std.c Mon Feb 27 17:16:50 1989
--- ./std.c Fri Aug 18 15:27:50 1989
***************
*** 381,387 ****
while (stdrules[i][0] == '\t')
{
comm->command = stdrules[i];
! if ((comm = comm->nextcmd = (struct cmds *) malloc( sizeof (struct cmds *))) == (struct cmds *) NIL)
errexit(10,"malloc");
i++;
}
--- 381,387 ----
while (stdrules[i][0] == '\t')
{
comm->command = stdrules[i];
! if ((comm = comm->nextcmd = (struct cmds *) malloc( sizeof (struct cmds))) == (struct cmds *) NIL)
errexit(10,"malloc");
i++;
}
diff -c /u/shape/shapetools/src/shape/version.c ./version.c
*** /u/shape/shapetools/src/shape/version.c Thu Aug 10 12:03:41 1989
--- ./version.c Fri Aug 18 17:20:08 1989
***************
*** 24,27 ****
* Tel: +49-30-314-22972
* E-mail: shape@coma.uucp or shape@db0tui62.bitnet
*/
! char *version () { static char ConfID[] = "3.11 Patchlevel_5\n\tThu Aug 10 12:01:08 MET DST 1989 by wolfgang@coma "; return ConfID; }
--- 24,27 ----
* Tel: +49-30-314-22972
* E-mail: shape@coma.uucp or shape@db0tui62.bitnet
*/
! char *version () { static char ConfID[] = "3.11 Patchlevel_6\n\tFri Aug 18 17:19:50 MET DST 1989 by wolfgang@coma "; return ConfID; }
Only in /u/shape/shapetools/src/shape: version.c.orig
Only in .: version.c~
SHAR_EOF
fi
if test -f 'vc_3.31.pat2'
then
echo shar: "will not over-write existing file 'vc_3.31.pat2'"
else
cat << \SHAR_EOF > 'vc_3.31.pat2'
*** vlmisc.c Mon Feb 27 17:10:39 1989
--- /tmp/vc/vlmisc.c Mon Aug 21 11:11:30 1989
***************
*** 148,152 ****
char *uinfo, *tmp;
! if ((tmp = malloc(MAXNAMLEN + MAXHOSTNAMELEN + 2)) == NULL) {
fprintf (stderr, "in GetUserInfo: not enough memory\n");
exit (1);
--- 148,152 ----
char *uinfo, *tmp;
! if ((tmp = malloc((unsigned) (MAXNAMLEN + MAXHOSTNAMELEN + 2))) == NULL) {
fprintf (stderr, "in GetUserInfo: not enough memory\n");
exit (1);
***************
*** 153,157 ****
}
! if ((uinfo = malloc(20)) == NULL) {
fprintf (stderr, "in GetUserInfo: not enough memory\n");
exit (1);
--- 153,157 ----
}
! if ((uinfo = malloc((unsigned)20)) == NULL) {
fprintf (stderr, "in GetUserInfo: not enough memory\n");
exit (1);
***************
*** 283,287 ****
length += strlen (udas) + 1; /* plus the new udas */
length++;
! if ((cpp = (char **) malloc ((unsigned)(sizeof (char **) * length)))
== (char **) NULL) {
(void)sprintf (error_string, "%s: in AddUdattra(): malloc", Progname);
--- 283,287 ----
length += strlen (udas) + 1; /* plus the new udas */
length++;
! if ((cpp = (char **) malloc ((unsigned)(sizeof (char *) * length)))
== (char **) NULL) {
(void)sprintf (error_string, "%s: in AddUdattra(): malloc", Progname);
***************
*** 616,621 ****
}
! files = (char **) NULL;
! dirs = (char **) NULL;
av = tav;
--- 616,621 ----
}
! *files = (char *) NULL;
! *dirs = (char *) NULL;
av = tav;
*** /u/shape/shapetools/src/vc/version.c Wed Mar 15 17:02:21 1989
--- /tmp/vc/version.c Mon Aug 21 17:17:12 1989
***************
*** 29,33 ****
*/
char *version () {
! static char ConfID[] = "3.31 Patchlevel_1\n\tThu Mar 9 22:34:20 MET 1989 by axel@coma)";
return ConfID;
}
--- 29,33 ----
*/
char *version () {
! static char ConfID[] = "3.31 Patchlevel_2\n\tMon Aug 21 17:16:16 MET DST 1989 by uli@coma)";
return ConfID;
}
SHAR_EOF
fi
exit 0
# End of shell archive