aboutsummaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorLibravatar Mykyta Holubakha <hilobakho@gmail.com>2017-05-11 19:38:32 +0300
committerLibravatar Mykyta Holubakha <hilobakho@gmail.com>2017-05-11 19:38:32 +0300
commitf470fa58a3fb56f456f83f08e3509d9785ad06d5 (patch)
treec269a9b140ee3e9a161f58ebcd04b93e148485ba /common
parentTerminate when both suid bit and filecaps are set (diff)
downloadsway-f470fa58a3fb56f456f83f08e3509d9785ad06d5.tar.gz
sway-f470fa58a3fb56f456f83f08e3509d9785ad06d5.tar.zst
sway-f470fa58a3fb56f456f83f08e3509d9785ad06d5.zip
Replace spaces with tabs in resolve_path
Diffstat (limited to 'common')
-rw-r--r--common/util.c66
1 files changed, 33 insertions, 33 deletions
diff --git a/common/util.c b/common/util.c
index a9e6a9c2..34bb5ec1 100644
--- a/common/util.c
+++ b/common/util.c
@@ -124,38 +124,38 @@ uint32_t parse_color(const char *color) {
124} 124}
125 125
126char* resolve_path(const char* path) { 126char* resolve_path(const char* path) {
127 struct stat sb; 127 struct stat sb;
128 ssize_t r; 128 ssize_t r;
129 int i; 129 int i;
130 char *current = NULL; 130 char *current = NULL;
131 char *resolved = NULL; 131 char *resolved = NULL;
132 132
133 if(!(current = strdup(path))) { 133 if(!(current = strdup(path))) {
134 return NULL; 134 return NULL;
135 } 135 }
136 for (i = 0; i < 16; ++i) { 136 for (i = 0; i < 16; ++i) {
137 if (lstat(current, &sb) == -1) { 137 if (lstat(current, &sb) == -1) {
138 goto failed; 138 goto failed;
139 } 139 }
140 if((sb.st_mode & S_IFMT) != S_IFLNK) { 140 if((sb.st_mode & S_IFMT) != S_IFLNK) {
141 return current; 141 return current;
142 } 142 }
143 if (!(resolved = malloc(sb.st_size + 1))) { 143 if (!(resolved = malloc(sb.st_size + 1))) {
144 goto failed; 144 goto failed;
145 } 145 }
146 r = readlink(current, resolved, sb.st_size); 146 r = readlink(current, resolved, sb.st_size);
147 if (r == -1 || r > sb.st_size) { 147 if (r == -1 || r > sb.st_size) {
148 goto failed; 148 goto failed;
149 } 149 }
150 resolved[r] = '\0'; 150 resolved[r] = '\0';
151 free(current); 151 free(current);
152 current = strdup(resolved); 152 current = strdup(resolved);
153 free(resolved); 153 free(resolved);
154 resolved = NULL; 154 resolved = NULL;
155 } 155 }
156 156
157failed: 157failed:
158 free(resolved); 158 free(resolved);
159 free(current); 159 free(current);
160 return NULL; 160 return NULL;
161} \ No newline at end of file 161}