This is uwtitle.c in view mode; [Download] [Up]
/*
* uwtitle
*
* Copyright 1986 by John D. Bruner. All rights reserved. Permission to
* copy this program is given provided that the copy is not sold and that
* this copyright notice is included.
*/
#include <strings.h>
#include <stdio.h>
#include "uwlib.h"
extern char *optarg;
extern int optind;
extern int errno;
extern char *getenv();
extern long atol();
main(argc, argv)
int argc;
char **argv;
{
register int c;
register char *cp, *cq, **av;
register uwid_t uwid;
char *argv0;
char *cqlimit;
union uwoptval uwoptval;
/*
* If called with no arguments, print a syntax message. Otherwise,
* set the title of the current window to argv[1..argc-1]. The
* window ID is obtained from the environment or the "-i" argument.
*/
argv0 = argv[0];
uwid = 0;
while ((c = getopt(argc, argv, "i:")) != EOF) {
switch (c) {
case 'i':
if ((uwid = atol(optarg)) == 0) {
fprintf(stderr,
"%s: malformed \"-i\" argument\n", argv0);
return(1);
}
break;
}
}
if (optind >= argc) {
fprintf(stderr, "Syntax: \"%s [-iID] title ...\"\n", *argv);
return(1);
}
if (uwid == 0) {
if ((cp = getenv("UW_ID")) == NULL) {
fprintf(stderr,
"%s: can't determine window ID\n", argv0);
return(1);
}
if ((uwid = (uwid_t)atol(cp)) == 0) {
fprintf(stderr,
"%s: garbaged window ID in environment: %s",
argv0, cp);
return(1);
}
}
/*
* Copy the argv list into "uwoptval" and change the title.
*/
av = argv + optind - 1;
cq = uwoptval.uwov_string;
cqlimit = uwoptval.uwov_string + sizeof uwoptval.uwov_string;
while ((cp = *++av) != NULL && cq < cqlimit) {
while (cq < cqlimit && (*cq++ = *cp++) != '\0')
;
cq[-1] = ' ';
}
cq[-1] = '\0';
if (uw_rsetopt(uwid, UWOP_TITLE, &uwoptval) < 0) {
uw_perror("uw_rsetopt", uwerrno, errno);
return(1);
} else
return(0);
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.