~MOTIF_KIT_FIXES.SAVMOTIF_KIT_FIXES.SAVjBACKUP [.DEMO]DXM_BUILD_DEMO.COM;,DXM_LINK.OPT;,[.LIB.CLIB]*.*; MOTIF_KIT_FIXES.SAV/SAVE/LOG/GROUP=0/NOCRC SYSTEM {nœV5.3 _IAKA::  _$1$DUA0: V5.3 ~9%*[DECW$MOTIF.DEMO]DXM_BUILD_DEMO.COM;3+,-./ 4.-/0123KPWO56&ē7 $Aē89GHJ$$ ! set up logicals$&$ @sys$common:[decw$motif]dxm_logicals$$ ! now go to the demo dir$&$ set def sys$common:[decw$motif.demo]$$ ! and build it,$ write sys$output "compile demo's .c files"$*$ cc/noopt HELLOMOTIF,MOTIFBURGER,PERIODIC$ $ write sys$output "link demo's"$ $ link motifburger,dxm_link/opt$ link hellomotif,dxm_link/opt$ link periodic,dxm_link/opt$.$ write sys$output "compile demo's .uil files"$$ uil motifburger$ uil hellomotif$ uil periodic$v~MOTIF_KIT_FIXES.SAV/[DECW$MOTIF.DEMO]DXM_LINK.OPT;51O*[DECW$MOTIF.DEMO]DXM_LINK.OPT;5+,./ 412-/0123KPWO56.ē7MAē89GHJ1SYS$COMMON:[DECW$MOTIF.LIB.MRM]DECW$MOTIF$MRM/LIB1SYS$COMMON:[DECW$MOTIF.LIB.DXM]DECW$MOTIF$DXM/lib/SYS$COMMON:[DECW$MOTIF.LIB.XM]DECW$MOTIF$XM/lib/SYS$COMMON:[DECW$MOTIF.LIB.XT]DECW$MOTIF$XT/libSYS$LIBRARY:DECW$XLIBSHR/SHARESYS$LIBRARY:VAXCRTL/SHARE(SYS$COMMON:[DECW$MOTIF.LIB.CLIB]CLIB/LIBy~MOTIF_KIT_FIXES.SAVd[DECW$MOTIF.LIB.CLIB]CLIB.C;1LY*[DECW$MOTIF.LIB.CLIB]CLIB.C;1+,d./ 4L-0123KPWO56$*ē7`|u.ē89GHJF/* CLIB.C - some common Unix functions not present in VAX C library */#include int2bcmp (b1, b2, length) /* This could be a macro! */ register char *b1; register char *b2; register int length;{ #ifdef VMSL struct dsc$descriptor_s src1 = {length, DSC$K_DTYPE_T, DSC$K_CLASS_S, b1};L struct dsc$descriptor_s src2 = {length, DSC$K_DTYPE_T, DSC$K_CLASS_S, b2};$ return STR$COMPARE (&src1, &src2);#else while (length-- > 0) if (*b1++ != *b2++) return 1; return 0;#endif /* not VMS */}C/* Saying `void' requires a declaration, above, where bcopy is usedK and that declaration causes pain for systems where bcopy is a macro. */bcopy (b1, b2, length) register char *b1; register char *b2; register int length;{ #ifdef VMS long max_str = 65535; while (length > max_str) {( (void) LIB$MOVC3 (&max_str, b1, b2); length -= max_str; b1 += max_str; b2 += max_str; }% (void) LIB$MOVC3 (&length, b1, b2);#else while (length-- > 0) *b2++ = *b1++;#endif /* not VMS */}voidbzero (b, length) register char *b; register int length;{ #ifdef VMS short zero = 0; long max_str = 65535; while (length > max_str) {8 (void) LIB$MOVC5 (&zero, &zero, &zero, &max_str, b); length -= max_str; b += max_str; }5 (void) LIB$MOVC5 (&zero, &zero, &zero, &length, b);#else while (length-- > 0) *b++ = 0;#endif /* not VMS */}char index (s, c) char *s, c;{ char strchr(); return strchr(s, c);}char rindex (s, c) char *s, c;{ char strrchr(); return strrchr(s, c);}*[DECW$MOTIF.LIB.CLIB]CLIB.OLB;1+,%.7/ 475-0123 KPWO856@*ē7%v.ē89GHJh% VAX-11 Librarian V04-00'*ē@8*ē!45/2  <3BCMP3BCOPY3BZERO3INDEX3RINDEX 3CLIB  !"#$%&'()*+,-./01241@8*ēV1.01CLIBV1.0 5-SEP-1990 11:25VAX C V3.1-051R CLIB bcmp< <bcopyS bzeroX index rindex @ STR$COMPARE LIB$MOVC3 LIB$MOVC5STRCHRSTRRCHR BCMP < BCOPY BZERO INDEX RINDEX$CODE$DATARP^Ь RRЬRЬ STR$COMPARE ^ЬSЬR<Ѭ &PRS߭ LIB$MOVC3­ ЭPPSPRѬ PRS  LIB$MOVC3^ЬR<Ѭ%R߭??? LIB$MOVC5­RѬR߬??? LIB$MOVC5^~STRCHRPP^~ݬSTRRCHRPPww