|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1989 The Regents of the University of California. ! 3: * All rights reserved. ! 4: * ! 5: * This code is derived from software contributed to Berkeley by ! 6: * Michael Fischbein. ! 7: * ! 8: * Redistribution and use in source and binary forms are permitted ! 9: * provided that: (1) source distributions retain this entire copyright ! 10: * notice and comment, and (2) distributions including binaries display ! 11: * the following acknowledgement: ``This product includes software ! 12: * developed by the University of California, Berkeley and its contributors'' ! 13: * in the documentation or other materials provided with the distribution ! 14: * and in all advertising materials mentioning features or use of this ! 15: * software. Neither the name of the University nor the names of its ! 16: * contributors may be used to endorse or promote products derived ! 17: * from this software without specific prior written permission. ! 18: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 19: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 20: * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 21: */ ! 22: ! 23: #ifndef lint ! 24: static char sccsid[] = "@(#)util.c 5.7 (Berkeley) 4/8/90"; ! 25: #endif /* not lint */ ! 26: ! 27: #include <sys/types.h> ! 28: #include <stdio.h> ! 29: #include <ctype.h> ! 30: ! 31: prcopy(src, dest, len) ! 32: register char *src, *dest; ! 33: register int len; ! 34: { ! 35: register int ch; ! 36: ! 37: while(len--) { ! 38: ch = *src++; ! 39: *dest++ = isprint(ch) ? ch : '?'; ! 40: } ! 41: } ! 42: ! 43: char ! 44: *emalloc(size) ! 45: u_int size; ! 46: { ! 47: char *retval, *malloc(); ! 48: ! 49: if (!(retval = malloc(size))) ! 50: nomem(); ! 51: return(retval); ! 52: } ! 53: ! 54: nomem() ! 55: { ! 56: (void)fprintf(stderr, "ls: out of memory.\n"); ! 57: exit(1); ! 58: } ! 59: ! 60: usage() ! 61: { ! 62: (void)fprintf(stderr, "usage: ls [-1ACFLRacdfgiklqrstu] [file ...]\n"); ! 63: exit(1); ! 64: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.