summaryrefslogtreecommitdiff
path: root/src/print_file_contents.c
diff options
context:
space:
mode:
authorIngo Bürk <admin@airblader.de>2020-05-01 13:17:09 +0200
committerGitHub <noreply@github.com>2020-05-01 13:17:09 +0200
commitef03d7c4794d35cf322288c93577ea777a17c697 (patch)
tree672d98eebbf93f1e81907bb323712910977a2abf /src/print_file_contents.c
parent55b5fb2172956c030c0989335396d664eeaa0ef6 (diff)
parent94d10968c94ad1a13392db1e17ed26265336fd33 (diff)
Merge pull request #415 from orestisfl/resolve-tilde
Resolve tilde
Diffstat (limited to 'src/print_file_contents.c')
-rw-r--r--src/print_file_contents.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/print_file_contents.c b/src/print_file_contents.c
index 65813f5..b66321a 100644
--- a/src/print_file_contents.c
+++ b/src/print_file_contents.c
@@ -14,24 +14,18 @@
#define STRING_SIZE 10
-static void *scalloc(size_t size) {
- void *result = calloc(size, 1);
- if (result == NULL) {
- die("Error: out of memory (calloc(%zu))\n", size);
- }
- return result;
-}
-
void print_file_contents(yajl_gen json_gen, char *buffer, const char *title, const char *path, const char *format, const char *format_bad, const int max_chars) {
const char *walk = format;
char *outwalk = buffer;
char *buf = scalloc(max_chars * sizeof(char) + 1);
- int n = -1;
- int fd = open(path, O_RDONLY);
+ char *abs_path = resolve_tilde(path);
+ int fd = open(abs_path, O_RDONLY);
+ free(abs_path);
INSTANCE(path);
+ int n = -1;
if (fd > -1) {
n = read(fd, buf, max_chars);
if (n != -1) {