]> asedeno.scripts.mit.edu Git - 1ts-debian.git/blob - zephyr/clients/xzwrite/util.c
f52ee7e8f301ad3091c67eac103163108628db05
[1ts-debian.git] / zephyr / clients / xzwrite / util.c
1 #include <stdio.h>
2 #include <pwd.h>
3
4 #include "xzwrite.h"
5
6 #ifdef __STDC__
7 void Warning(const char *first, ...)
8 #else
9 /*VARARGS*/
10 void Warning(first, va_alist)
11    const char   *first;
12    va_dcl
13 #endif
14 {
15      va_list    vp;
16      char       *s;
17      
18      fputs(first, stderr);
19
20      VA_START(vp, first);
21      while ((s = va_arg(vp, char *)) != NULL)
22           fputs(s, stderr);
23      va_end(vp);
24      putc('\n', stderr);
25 }
26
27 #ifdef __STDC__
28 void Error(const char *first, ...)
29 #else
30 /*VARARGS*/
31 void Error(first, va_alist)
32    const char *first;
33    va_dcl
34 #endif
35 {
36      va_list    vp;
37      char       *s;
38      
39      fputs(first, stderr);
40
41      VA_START(vp, first);
42      while ((s = va_arg(vp, char *)) != NULL)
43           fputs(s, stderr);
44      va_end(vp);
45      putc('\n', stderr);
46
47      exit(1);
48 }
49
50 #ifdef __STDC__
51 char *Malloc(int n, ...)
52 #else
53 /*VARARGS*/
54 char *Malloc(n, va_alist)
55    int  n;
56    va_dcl
57 #endif
58 {
59      va_list    vp;
60      char       *ptr, *s;
61
62      ptr = (char *) malloc((unsigned) n);
63      if (ptr)
64           return ptr;
65
66      fputs("Out of memory: ", stderr);
67
68      VA_START(vp, n);
69      while ((s = va_arg(vp, char *)) != NULL)
70           fputs(s, stderr);
71      va_end(vp);
72      putc('\n', stderr);
73
74      exit(1);
75 }
76
77 char *get_username()
78 {
79      struct passwd *pwuid;
80      static char *u = NULL;
81
82      if (u) return u;
83
84      if ((u = getenv("USER")) != NULL) return u;
85
86      pwuid = getpwuid(getuid());
87      if (pwuid)
88        return u = pwuid->pw_name;
89      else
90        return NULL;
91 }