|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T i
Length: 9579 (0x256b)
Types: TextFile
Names: »inews.c.2.pat«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
└─⟦this⟧ »EUUGD11/euug-87hel/sec1/rn/inews.c.2.pat«
└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit
└─⟦97f3ac3f8⟧ »EurOpenD3/news/rn.tar.Z«
└─⟦df9cf1b54⟧
└─⟦this⟧ »inews.c.2.pat«
*** inews.old.c Tue Apr 30 14:34:19 1985
--- inews.c Tue Apr 30 14:34:33 1985
***************
*** 416,421
/*
* Link ARTICLE into dir for ngname and update active file.
*/
localize(ngname)
char *ngname;
{
--- 416,424 -----
/*
* Link ARTICLE into dir for ngname and update active file.
*/
+ #ifdef DOXREFS
+ long
+ #endif
localize(ngname)
char *ngname;
{
***************
*** 453,458
mknewsg(cp, ngname);
sprintf(bfr, "%s/%ld", cp, ngsize+1);
#ifdef VMS
if ((f2 = creat(bfr, 0666)) >=0 ) {
f1 = open(article, 0);
--- 456,466 -----
mknewsg(cp, ngname);
sprintf(bfr, "%s/%ld", cp, ngsize+1);
+ #ifdef LINKART
+ if (mylink(ARTICLE, bfr) == 0) break;
+ /* on first file inits ARTICLE, on subsequent */
+ /* files "links" to first article */
+ #else !LINKART
#ifdef VMS
if ((f2 = creat(bfr, 0666)) >=0 ) {
f1 = open(article, 0);
***************
*** 468,473
if (link(ARTICLE, bfr) == 0)
break;
#endif !VMS
e = errno; /* keep log from clobbering it */
logerr("Cannot install article as %s", bfr);
if (e != EEXIST) {
--- 476,482 -----
if (link(ARTICLE, bfr) == 0)
break;
#endif !VMS
+ #endif !LINKART
e = errno; /* keep log from clobbering it */
logerr("Cannot install article as %s", bfr);
if (e != EEXIST) {
***************
*** 494,499
strcpy(firstbufname, bfr);
sprintf(bfr, "%s/%ld ", ngname, ngsize+1);
addhist(bfr);
return TRUE;
}
--- 503,509 -----
strcpy(firstbufname, bfr);
sprintf(bfr, "%s/%ld ", ngname, ngsize+1);
addhist(bfr);
+ #ifndef DOXREFS
return TRUE;
#else DOXREFS
return ngsize+1;
***************
*** 495,500
sprintf(bfr, "%s/%ld ", ngname, ngsize+1);
addhist(bfr);
return TRUE;
}
/*
--- 505,513 -----
addhist(bfr);
#ifndef DOXREFS
return TRUE;
+ #else DOXREFS
+ return ngsize+1;
+ #endif DOXREFS
}
/*
***************
*** 507,512
char c;
struct srec srec; /* struct for sys file lookup */
int is_invalid = FALSE;
/* Fill up the rest of header. */
if (mode != PROC) {
--- 520,529 -----
char c;
struct srec srec; /* struct for sys file lookup */
int is_invalid = FALSE;
+ #ifdef DOXREFS
+ register char *nextxref = header.xref;
+ int numxrefs = 0;
+ #endif DOXREFS
/* Fill up the rest of header. */
if (mode != PROC) {
***************
*** 527,532
if (!is_ctl && mode != CREATENG)
is_invalid = ngfcheck(mode == PROC);
/* Write article to temp file. */
tfp = xfopen(mktemp(ARTICLE), "w");
if ( (c=getc(infp)) == ' ' || c == '\t' ) {
--- 544,556 -----
if (!is_ctl && mode != CREATENG)
is_invalid = ngfcheck(mode == PROC);
+ #ifdef LINKART
+ *ARTICLE = '\0'; /* tell mylink() to snarf the name */
+ #else !LINKART
+ #ifdef DOXREFS
+ /* Open temp file for article, but link before writing */
+ tfp = xfopen(mktemp(ARTICLE), "w");
+ #else DOXREFS
/* Write article to temp file. */
tfp = xfopen(mktemp(ARTICLE), "w");
if ( (c=getc(infp)) == ' ' || c == '\t' ) {
***************
*** 545,550
putc('\n',tfp);
fclose(tfp);
fclose(infp);
if (is_invalid) {
logerr("No valid newsgroups found, moved to junk");
--- 569,576 -----
putc('\n',tfp);
fclose(tfp);
fclose(infp);
+ #endif DOXREFS
+ #endif LINKART
if (is_invalid) {
logerr("No valid newsgroups found, moved to junk");
***************
*** 550,555
logerr("No valid newsgroups found, moved to junk");
if (localize("junk"))
savehist(histline);
xxit(1);
}
--- 576,582 -----
logerr("No valid newsgroups found, moved to junk");
if (localize("junk"))
savehist(histline);
+ #ifndef DOXREFS
xxit(1);
#endif
}
***************
*** 551,556
if (localize("junk"))
savehist(histline);
xxit(1);
}
if (time((time_t)0) > (cgtdate(header.subdate) + DFLTEXP) ){
--- 578,584 -----
savehist(histline);
#ifndef DOXREFS
xxit(1);
+ #endif
}
#ifdef DOXREFS
else
***************
*** 552,558
savehist(histline);
xxit(1);
}
!
if (time((time_t)0) > (cgtdate(header.subdate) + DFLTEXP) ){
logerr("Article too old, moved to junk");
if (localize("junk"))
--- 580,588 -----
xxit(1);
#endif
}
! #ifdef DOXREFS
! else
! #endif
if (time((time_t)0) > (cgtdate(header.subdate) + DFLTEXP) ){
logerr("Article too old, moved to junk");
if (localize("junk"))
***************
*** 557,562
logerr("Article too old, moved to junk");
if (localize("junk"))
savehist(histline);
xxit(1);
}
--- 587,593 -----
logerr("Article too old, moved to junk");
if (localize("junk"))
savehist(histline);
+ #ifndef DOXREFS
xxit(1);
#endif
}
***************
*** 558,563
if (localize("junk"))
savehist(histline);
xxit(1);
}
if (is_ctl) {
--- 589,595 -----
savehist(histline);
#ifndef DOXREFS
xxit(1);
+ #endif
}
#ifdef DOXREFS
else
***************
*** 559,565
savehist(histline);
xxit(1);
}
!
if (is_ctl) {
control(&header);
localize("control");
--- 591,599 -----
xxit(1);
#endif
}
! #ifdef DOXREFS
! else
! #endif
if (is_ctl) {
#ifndef DOXREFS
control(&header);
***************
*** 561,566
}
if (is_ctl) {
control(&header);
localize("control");
} else {
--- 595,601 -----
else
#endif
if (is_ctl) {
+ #ifndef DOXREFS
control(&header);
#endif
localize("control");
***************
*** 562,567
if (is_ctl) {
control(&header);
localize("control");
} else {
if (s_find(&srec, FULLSYSNAME) == FALSE)
--- 597,603 -----
if (is_ctl) {
#ifndef DOXREFS
control(&header);
+ #endif
localize("control");
} else {
if (s_find(&srec, FULLSYSNAME) == FALSE)
***************
*** 566,571
} else {
if (s_find(&srec, FULLSYSNAME) == FALSE)
xerror("Cannot find my name '%s' in %s", FULLSYSNAME, SUBFILE);
for (ptr = nbuf; *ptr;) {
if (ngmatch(ptr, srec.s_nbuf) || index(ptr,'.') == NULL)
localize(ptr);
--- 602,611 -----
} else {
if (s_find(&srec, FULLSYSNAME) == FALSE)
xerror("Cannot find my name '%s' in %s", FULLSYSNAME, SUBFILE);
+ #ifdef DOXREFS
+ sprintf(nextxref,"%s ",FULLSYSNAME);
+ nextxref += strlen(nextxref);
+ #endif
for (ptr = nbuf; *ptr;) {
#ifndef DOXREFS
if (ngmatch(ptr, srec.s_nbuf) || index(ptr,'.') == NULL)
***************
*** 567,572
if (s_find(&srec, FULLSYSNAME) == FALSE)
xerror("Cannot find my name '%s' in %s", FULLSYSNAME, SUBFILE);
for (ptr = nbuf; *ptr;) {
if (ngmatch(ptr, srec.s_nbuf) || index(ptr,'.') == NULL)
localize(ptr);
while (*ptr++)
--- 607,613 -----
nextxref += strlen(nextxref);
#endif
for (ptr = nbuf; *ptr;) {
+ #ifndef DOXREFS
if (ngmatch(ptr, srec.s_nbuf) || index(ptr,'.') == NULL)
localize(ptr);
#else DOXREFS
***************
*** 569,574
for (ptr = nbuf; *ptr;) {
if (ngmatch(ptr, srec.s_nbuf) || index(ptr,'.') == NULL)
localize(ptr);
while (*ptr++)
;
}
--- 610,624 -----
#ifndef DOXREFS
if (ngmatch(ptr, srec.s_nbuf) || index(ptr,'.') == NULL)
localize(ptr);
+ #else DOXREFS
+ if (ngmatch(ptr, srec.s_nbuf) ||
+ index(ptr,'.') == NULL) {
+ sprintf(nextxref,"%s:%ld ",ptr,localize(ptr));
+ numxrefs++;
+ while (*nextxref)
+ nextxref++;
+ }
+ #endif DOXREFS
while (*ptr++)
;
}
***************
*** 577,582
localize("junk");
}
}
broadcast();
savehist(histline);
--- 627,638 -----
localize("junk");
}
}
+ #ifdef DOXREFS
+ if (numxrefs >= 2)
+ *(nextxref-1) = '\0'; /* wipe out the last space */
+ else
+ header.xref[0] = '\0'; /* wipe out the whole thing */
+ #endif
#ifdef LINKART
tfp = xfopen(ARTICLE,"w"); /* open 1st article localized */
***************
*** 578,583
}
}
broadcast();
savehist(histline);
xxit(0);
--- 634,669 -----
header.xref[0] = '\0'; /* wipe out the whole thing */
#endif
+ #ifdef LINKART
+ tfp = xfopen(ARTICLE,"w"); /* open 1st article localized */
+ #endif
+
+ #if defined(LINKART) || defined(DOXREFS)
+ /* Now that xref is constructed, write article to temp file. */
+ /* (We ought to detect no room at this point and clean up.) */
+ if ( (c=getc(infp)) == ' ' || c == '\t' ) {
+ header.intnumlines++;
+ sprintf(header.numlines,"%d",header.intnumlines);
+ }
+ lhwrite(&header, tfp);
+ /* Kludge to get around article truncation problem */
+ if (c == ' ' || c == '\t' )
+ putc('\n', tfp);
+ putc(c,tfp);
+ while (fgets(bfr, BUFLEN, infp) != NULL)
+ fputs(bfr, tfp);
+
+ if (bfr[strlen(bfr)-1] != '\n')
+ putc('\n',tfp);
+ fclose(tfp);
+ fclose(infp);
+ #endif LINKART || DOXREFS
+
+ #ifdef DOXREFS
+ if (is_ctl) /* moved here cuz checkgroups uses ARTICLE! */
+ control(&header);
+ #endif
+
broadcast();
savehist(histline);
xxit(0);
***************
*** 853,855
}
return(NULL);
}
--- 939,963 -----
}
return(NULL);
}
+
+ #ifdef LINKART
+ mylink(tmpart,linkfrom)
+ char *tmpart, *linkfrom;
+ {
+ struct stat statbuf;
+
+ if (stat(linkfrom,&statbuf)==0)
+ return -1;
+ if (!*tmpart) /* first article? */
+ strcpy(tmpart,linkfrom); /* just remember name */
+ else {
+ FILE *linkfp = fopen(linkfrom,"w");
+
+ if (!linkfp)
+ return -1;
+ fprintf(linkfp,"%s\n",tmpart); /* do "symbolic link" */
+ fclose(linkfp);
+ }
+ return 0;
+ }
+ #endif LINKART