summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--cache.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/cache.c b/cache.c
index 6847202..a996109 100644
--- a/cache.c
+++ b/cache.c
@@ -42,25 +42,25 @@ struct cache_slot {
42static int open_slot(struct cache_slot *slot) 42static int open_slot(struct cache_slot *slot)
43{ 43{
44 char *bufz; 44 char *bufz;
45 int bufkeylen = -1; 45 int bufkeylen = -1;
46 46
47 slot->cache_fd = open(slot->cache_name, O_RDONLY); 47 slot->cache_fd = open(slot->cache_name, O_RDONLY);
48 if (slot->cache_fd == -1) 48 if (slot->cache_fd == -1)
49 return errno; 49 return errno;
50 50
51 if (fstat(slot->cache_fd, &slot->cache_st)) 51 if (fstat(slot->cache_fd, &slot->cache_st))
52 return errno; 52 return errno;
53 53
54 slot->bufsize = read(slot->cache_fd, slot->buf, sizeof(slot->buf)); 54 slot->bufsize = xread(slot->cache_fd, slot->buf, sizeof(slot->buf));
55 if (slot->bufsize < 0) 55 if (slot->bufsize < 0)
56 return errno; 56 return errno;
57 57
58 bufz = memchr(slot->buf, 0, slot->bufsize); 58 bufz = memchr(slot->buf, 0, slot->bufsize);
59 if (bufz) 59 if (bufz)
60 bufkeylen = bufz - slot->buf; 60 bufkeylen = bufz - slot->buf;
61 61
62 slot->match = bufkeylen == slot->keylen && 62 slot->match = bufkeylen == slot->keylen &&
63 !memcmp(slot->key, slot->buf, bufkeylen + 1); 63 !memcmp(slot->key, slot->buf, bufkeylen + 1);
64 64
65 return 0; 65 return 0;
66} 66}
@@ -72,34 +72,34 @@ static int close_slot(struct cache_slot *slot)
72 if (slot->cache_fd > 0) { 72 if (slot->cache_fd > 0) {
73 if (close(slot->cache_fd)) 73 if (close(slot->cache_fd))
74 err = errno; 74 err = errno;
75 else 75 else
76 slot->cache_fd = -1; 76 slot->cache_fd = -1;
77 } 77 }
78 return err; 78 return err;
79} 79}
80 80
81/* Print the content of the active cache slot (but skip the key). */ 81/* Print the content of the active cache slot (but skip the key). */
82static int print_slot(struct cache_slot *slot) 82static int print_slot(struct cache_slot *slot)
83{ 83{
84 ssize_t i, j = 0; 84 ssize_t i;
85 85
86 i = lseek(slot->cache_fd, slot->keylen + 1, SEEK_SET); 86 i = lseek(slot->cache_fd, slot->keylen + 1, SEEK_SET);
87 if (i != slot->keylen + 1) 87 if (i != slot->keylen + 1)
88 return errno; 88 return errno;
89 89
90 while((i=read(slot->cache_fd, slot->buf, sizeof(slot->buf))) > 0) 90 while((i = xread(slot->cache_fd, slot->buf, sizeof(slot->buf))) > 0)
91 j = write(STDOUT_FILENO, slot->buf, i); 91 i = xwrite(STDOUT_FILENO, slot->buf, i);
92 92
93 if (j < 0) 93 if (i < 0)
94 return errno; 94 return errno;
95 else 95 else
96 return 0; 96 return 0;
97} 97}
98 98
99/* Check if the slot has expired */ 99/* Check if the slot has expired */
100static int is_expired(struct cache_slot *slot) 100static int is_expired(struct cache_slot *slot)
101{ 101{
102 if (slot->ttl < 0) 102 if (slot->ttl < 0)
103 return 0; 103 return 0;
104 else 104 else
105 return slot->cache_st.st_mtime + slot->ttl*60 < time(NULL); 105 return slot->cache_st.st_mtime + slot->ttl*60 < time(NULL);
@@ -133,25 +133,25 @@ static int close_lock(struct cache_slot *slot)
133} 133}
134 134
135/* Create a lockfile used to store the generated content for a cache 135/* Create a lockfile used to store the generated content for a cache
136 * slot, and write the slot key + \0 into it. 136 * slot, and write the slot key + \0 into it.
137 * Returns 0 on success and errno otherwise. 137 * Returns 0 on success and errno otherwise.
138 */ 138 */
139static int lock_slot(struct cache_slot *slot) 139static int lock_slot(struct cache_slot *slot)
140{ 140{
141 slot->lock_fd = open(slot->lock_name, O_RDWR|O_CREAT|O_EXCL, 141 slot->lock_fd = open(slot->lock_name, O_RDWR|O_CREAT|O_EXCL,
142 S_IRUSR|S_IWUSR); 142 S_IRUSR|S_IWUSR);
143 if (slot->lock_fd == -1) 143 if (slot->lock_fd == -1)
144 return errno; 144 return errno;
145 if (write(slot->lock_fd, slot->key, slot->keylen + 1) < 0) 145 if (xwrite(slot->lock_fd, slot->key, slot->keylen + 1) < 0)
146 return errno; 146 return errno;
147 return 0; 147 return 0;
148} 148}
149 149
150/* Release the current lockfile. If `replace_old_slot` is set the 150/* Release the current lockfile. If `replace_old_slot` is set the
151 * lockfile replaces the old cache slot, otherwise the lockfile is 151 * lockfile replaces the old cache slot, otherwise the lockfile is
152 * just deleted. 152 * just deleted.
153 */ 153 */
154static int unlock_slot(struct cache_slot *slot, int replace_old_slot) 154static int unlock_slot(struct cache_slot *slot, int replace_old_slot)
155{ 155{
156 int err; 156 int err;
157 157