mirror of https://github.com/swig/swig
84 lines
2.0 KiB
Diff
84 lines
2.0 KiB
Diff
--- stats.c (révision 8804)
|
|
+++ stats.c (copie de travail)
|
|
@@ -286,7 +286,7 @@
|
|
|
|
|
|
/* set the per directory limits */
|
|
-void stats_set_limits(long maxfiles, long maxsize)
|
|
+int stats_set_limits(long maxfiles, long maxsize)
|
|
{
|
|
int dir;
|
|
unsigned counters[STATS_END];
|
|
@@ -298,7 +298,9 @@
|
|
maxsize /= 16;
|
|
}
|
|
|
|
- create_dir(cache_dir);
|
|
+ if (create_dir(cache_dir) != 0) {
|
|
+ return 1;
|
|
+ }
|
|
|
|
/* set the limits in each directory */
|
|
for (dir=0;dir<=0xF;dir++) {
|
|
@@ -306,7 +308,9 @@
|
|
int fd;
|
|
|
|
x_asprintf(&cdir, "%s/%1x", cache_dir, dir);
|
|
- create_dir(cdir);
|
|
+ if (create_dir(cdir) != 0) {
|
|
+ return 1;
|
|
+ }
|
|
x_asprintf(&fname, "%s/stats", cdir);
|
|
free(cdir);
|
|
|
|
@@ -326,6 +330,8 @@
|
|
}
|
|
free(fname);
|
|
}
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
/* set the per directory sizes */
|
|
--- ccache.c (révision 8804)
|
|
+++ ccache.c (copie de travail)
|
|
@@ -935,15 +934,23 @@
|
|
case 'F':
|
|
check_cache_dir();
|
|
v = atoi(optarg);
|
|
- stats_set_limits(v, -1);
|
|
- printf("Set cache file limit to %u\n", (unsigned)v);
|
|
+ if (stats_set_limits(v, -1) == 0) {
|
|
+ printf("Set cache file limit to %u\n", (unsigned)v);
|
|
+ } else {
|
|
+ printf("Could not set cache file limit.\n");
|
|
+ exit(1);
|
|
+ }
|
|
break;
|
|
|
|
case 'M':
|
|
check_cache_dir();
|
|
v = value_units(optarg);
|
|
- stats_set_limits(-1, v);
|
|
- printf("Set cache size limit to %uk\n", (unsigned)v);
|
|
+ if (stats_set_limits(-1, v) == 0) {
|
|
+ printf("Set cache size limit to %uk\n", (unsigned)v);
|
|
+ } else {
|
|
+ printf("Could not set cache size limit.\n");
|
|
+ exit(1);
|
|
+ }
|
|
break;
|
|
|
|
default:
|
|
--- ccache.h (révision 8804)
|
|
+++ ccache.h (copie de travail)
|
|
@@ -101,7 +101,7 @@
|
|
void stats_summary(void);
|
|
void stats_tocache(size_t size);
|
|
void stats_read(const char *stats_file, unsigned counters[STATS_END]);
|
|
-void stats_set_limits(long maxfiles, long maxsize);
|
|
+int stats_set_limits(long maxfiles, long maxsize);
|
|
size_t value_units(const char *s);
|
|
void display_size(unsigned v);
|
|
void stats_set_sizes(const char *dir, size_t num_files, size_t total_size);
|