home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 May / W2KPRK.iso / apps / posix / source / LS / UTIL.C < prev   
C/C++ Source or Header  |  1999-11-17  |  4KB  |  132 lines

  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, with or without
  9.  * modification, are permitted provided that the following conditions
  10.  * are met:
  11.  * 1. Redistributions of source code must retain the above copyright
  12.  *    notice, this list of conditions and the following disclaimer.
  13.  * 2. Redistributions in binary form must reproduce the above copyright
  14.  *    notice, this list of conditions and the following disclaimer in the
  15.  *    documentation and/or other materials provided with the distribution.
  16.  * 3. All advertising materials mentioning features or use of this software
  17.  *    must display the following acknowledgement:
  18.  *    This product includes software developed by the University of
  19.  *    California, Berkeley and its contributors.
  20.  * 4. Neither the name of the University nor the names of its contributors
  21.  *    may be used to endorse or promote products derived from this software
  22.  *    without specific prior written permission.
  23.  *
  24.  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  25.  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  26.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  27.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  28.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  29.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  30.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  31.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  32.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  33.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  34.  * SUCH DAMAGE.
  35.  */
  36.  
  37. #ifdef DF_POSIX /* DF_MSS */
  38. #include <misc.h>
  39. #include <bsdlib.h>
  40. #include <sys/cdefs.h>
  41. #endif
  42.  
  43. #ifndef lint
  44. static char sccsid[] = "@(#)util.c    5.8 (Berkeley) 7/22/90";
  45. #endif /* not lint */
  46.  
  47. #include <sys/types.h>
  48. #include <stdio.h>
  49. #include <ctype.h>
  50. #include <stdlib.h>
  51.  
  52. #if WIN_NT
  53. void nomem __P((void));
  54. extern void deglobulate __P((void));
  55. extern pid_t ppid;
  56. extern int globulation;
  57. #endif
  58.  
  59. void
  60. #if __STDC__
  61. prcopy (register char *src, register char *dest, register int len)
  62. #else
  63. prcopy(src, dest, len)
  64.     register char *src, *dest;
  65.     register int len;
  66. #endif
  67. {
  68.     register int ch;
  69.  
  70.     while(len--) {
  71.         ch = *src++;
  72.         *dest++ = (char)((isprint(ch)) ? ch : '?');
  73.     }
  74. }
  75.  
  76. char *
  77. #if __STDC__
  78. emalloc (u_int size)
  79. #else
  80. emalloc(size)
  81.     u_int size;
  82. #endif
  83. {
  84. #if WIN_NT
  85.     char *retval;
  86. #else
  87.     char *retval, *malloc();
  88. #endif
  89.  
  90. #if __STDC__
  91.     if (!(retval = (char *) malloc((size_t)size)))
  92. #else
  93.     if (!(retval = (char *) malloc(size)))
  94. #endif
  95.         nomem();
  96.     return(retval);
  97. }
  98.  
  99. void
  100. #if __STDC__
  101. nomem (void)
  102. #else
  103. nomem()
  104. #endif
  105. {
  106.     (void)fprintf(stderr, "ls: out of memory.\n");
  107. #if WIN_NT
  108.     if (ppid == (pid_t) 1 && globulation == 0)
  109.         deglobulate();
  110. #endif
  111.     exit(EXIT_FAILURE);
  112. }
  113.  
  114. void
  115. #if __STDC__
  116. usage (void)
  117. #else
  118. usage()
  119. #endif
  120. {
  121. #if _POSIX_SOURCE
  122.     (void)fprintf(stderr, "usage: ls [-1ACFLRTacdfiklqrstu] [file ...]\n");
  123. #else
  124.     (void)fprintf(stderr, "usage: ls [-1ACFLRTacdfgiklqrstu] [file ...]\n");
  125. #endif
  126. #if WIN_NT
  127.     if (ppid == (pid_t) 1 && globulation == 0)
  128.         deglobulate();
  129. #endif
  130.     exit(EXIT_FAILURE);
  131. }
  132.