This is EtermSupport.m in view mode; [Download] [Up]
#import "EtermSupport.h"
#import "EtermHandle.h"
#import "Appender.h"
#import <assert.h>
#import <stdlib.h>
#import <libc.h>
#import <appkit/Application.h>
struct display {
id deputy;
};
void *new_display_rock(id deputy)
{
struct display *new_display;
new_display = malloc(sizeof(struct display));
assert(new_display);
new_display->deputy = deputy;
return (void *)new_display;
}
void input_from_apps(int fd, void *rock)
{
struct display *display = (struct display *)rock;
static char buf[1024]; // local buffer increase performance
int n;
id deputy = display->deputy;
n = read(fd, buf, sizeof(buf)-1);
if (n < 1) {
[NXApp terminate:nil];
}
if (n > 0) buf[n] = 0; /* terminate the string */
[deputy outputFromApp:buf];
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.