/[jscoverage]/trunk/util.h
ViewVC logotype

Annotation of /trunk/util.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 505 - (hide annotations)
Sat Jan 2 04:55:54 2010 UTC (9 years, 11 months ago) by siliconforks
File MIME type: text/plain
File size: 3538 byte(s)
Update copyright year.

1 siliconforks 2 /*
2     util.h - general purpose utility routines
3 siliconforks 505 Copyright (C) 2007, 2008, 2009, 2010 siliconforks.com
4 siliconforks 2
5     This program is free software; you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation; either version 2 of the License, or
8     (at your option) any later version.
9    
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13     GNU General Public License for more details.
14    
15     You should have received a copy of the GNU General Public License along
16     with this program; if not, write to the Free Software Foundation, Inc.,
17     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18     */
19    
20     #ifndef UTIL_H_
21     #define UTIL_H_
22    
23 siliconforks 99 #ifndef HAVE_VASPRINTF
24     #include <stdarg.h>
25     #endif
26 siliconforks 106 #include <stdbool.h>
27 siliconforks 2 #include <stdio.h>
28     #include <stdlib.h>
29    
30     #include <sys/stat.h>
31    
32 siliconforks 399 #ifdef __cplusplus
33     extern "C" {
34     #endif
35    
36 siliconforks 2 extern const char * program;
37    
38     void fatal(const char * format, ...)
39     __attribute__((__noreturn__))
40     __attribute__((__format__(printf, 1, 2)));
41    
42 siliconforks 191 void fatal_command_line(const char * format, ...)
43     __attribute__((__noreturn__))
44     __attribute__((__format__(printf, 1, 2)));
45    
46 siliconforks 370 void fatal_source(const char * source_file, unsigned int line_number, const char * format, ...)
47     __attribute__((__noreturn__))
48     __attribute__((__format__(printf, 3, 4)));
49    
50 siliconforks 372 void warn_source(const char * source_file, unsigned int line_number, const char * format, ...)
51     __attribute__((__format__(printf, 3, 4)));
52    
53 siliconforks 311 void version(void)
54     __attribute__((__noreturn__));
55    
56 siliconforks 106 size_t addst(size_t x, size_t y);
57    
58     size_t mulst(size_t x, size_t y);
59    
60 siliconforks 2 void * xmalloc(size_t size);
61    
62 siliconforks 106 #define xnew(type, count) ((type *) xmalloc(mulst((count), sizeof(type))))
63    
64 siliconforks 2 void * xrealloc(void * p, size_t size);
65    
66     char * xstrdup(const char * s);
67    
68 siliconforks 106 char * xstrndup(const char * s, size_t size);
69    
70 siliconforks 399 int xasprintf(char ** s, const char * format, ...) __attribute__((__format__(printf, 2, 3)));
71 siliconforks 106
72 siliconforks 2 char * xgetcwd(void);
73    
74     FILE * xfopen(const char * file, const char * mode);
75    
76     void xstat(const char * file, struct stat * buf);
77    
78     void xlstat(const char * file, struct stat * buf);
79    
80     void xmkdir(const char * directory);
81    
82     void mkdir_if_necessary(const char * directory);
83    
84     void mkdirs(const char * path);
85    
86 siliconforks 106 bool str_starts_with(const char * string, const char * prefix);
87    
88     bool str_ends_with(const char * string, const char * suffix);
89    
90 siliconforks 2 char * make_path(const char * parent, const char * relative_path);
91    
92     char * make_canonical_path(const char * relative_path);
93    
94     char * make_basename(const char * path);
95    
96     char * make_dirname(const char * path);
97    
98     int is_same_file(const char * file1, const char * file2);
99    
100     int contains_file(const char * file1, const char * file2);
101    
102     void copy_stream(FILE * source, FILE * destination);
103    
104     void copy_file(const char * source_file, const char * destination_file);
105    
106 siliconforks 106 bool directory_is_empty(const char * directory);
107 siliconforks 2
108     struct DirListEntry {
109     char * name;
110     struct DirListEntry * next;
111     };
112    
113     struct DirListEntry * make_recursive_dir_list(const char * directory);
114    
115     void free_dir_list(struct DirListEntry * list);
116    
117 siliconforks 125 #ifndef HAVE_STRNDUP
118     char * strndup(const char * s, size_t size);
119 siliconforks 106 #endif
120    
121 siliconforks 99 #ifndef HAVE_VASPRINTF
122 siliconforks 399 int vasprintf(char ** s, const char * format, va_list a);
123 siliconforks 2 #endif
124 siliconforks 99
125     #ifndef HAVE_ASPRINTF
126 siliconforks 399 int asprintf(char ** s, const char * format, ...) __attribute__((__format__(printf, 2, 3)));
127 siliconforks 99 #endif
128    
129 siliconforks 399 #ifdef __cplusplus
130     }
131     #endif
132    
133 siliconforks 397 #endif /* UTIL_H_ */

  ViewVC Help
Powered by ViewVC 1.1.24