This is mapfile.c in view mode; [Download] [Up]
#import <streams/streams.h> #import <stdio.h> #import "mapfile.h" #import <appkit/NXCType.h> #import "readline.h" #define NNTP_LIST_END(s) ((s)[0]=='.' && ((s)[1]=='\0' || (s)[1]=='\r')) int MapNntpToStream(FILE *theFile,NXStream *theStream,BOOL echoSocket) { char *buffer; while(buffer=readline(theFile),(buffer!=NULL)&&(!NNTP_LIST_END(buffer))){ int n; n = strlen(buffer); if (n >= 2 && buffer[n-1] == '\n' && buffer[n-2] == '\r'){ buffer[n-2]='\n'; buffer[n-1]='\0'; n--; } if(*buffer=='.'){ buffer++; //remove byte stuffing n--; } if(echoSocket) printf("%s",buffer); NXWrite(theStream,buffer,n); } if(echoSocket && (buffer!=NULL) && (NNTP_LIST_END(buffer))) printf("%s",buffer); if(buffer==NULL) return -1; return 0; }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.