diff options
Diffstat (limited to 'common/util.c')
-rw-r--r-- | common/util.c | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/common/util.c b/common/util.c index 561b3804..78d46a2a 100644 --- a/common/util.c +++ b/common/util.c | |||
@@ -138,61 +138,3 @@ bool parse_boolean(const char *boolean, bool current) { | |||
138 | // All other values are false to match i3 | 138 | // All other values are false to match i3 |
139 | return false; | 139 | return false; |
140 | } | 140 | } |
141 | |||
142 | char* resolve_path(const char* path) { | ||
143 | struct stat sb; | ||
144 | ssize_t r; | ||
145 | int i; | ||
146 | char *current = NULL; | ||
147 | char *resolved = NULL; | ||
148 | |||
149 | if(!(current = strdup(path))) { | ||
150 | return NULL; | ||
151 | } | ||
152 | for (i = 0; i < 16; ++i) { | ||
153 | if (lstat(current, &sb) == -1) { | ||
154 | goto failed; | ||
155 | } | ||
156 | if((sb.st_mode & S_IFMT) != S_IFLNK) { | ||
157 | return current; | ||
158 | } | ||
159 | if (!(resolved = malloc(sb.st_size + 1))) { | ||
160 | goto failed; | ||
161 | } | ||
162 | r = readlink(current, resolved, sb.st_size); | ||
163 | if (r == -1 || r > sb.st_size) { | ||
164 | goto failed; | ||
165 | } | ||
166 | resolved[r] = '\0'; | ||
167 | free(current); | ||
168 | current = strdup(resolved); | ||
169 | free(resolved); | ||
170 | resolved = NULL; | ||
171 | } | ||
172 | |||
173 | failed: | ||
174 | free(resolved); | ||
175 | free(current); | ||
176 | return NULL; | ||
177 | } | ||
178 | |||
179 | bool sway_dir_to_wlr(enum movement_direction dir, enum wlr_direction *out) { | ||
180 | switch (dir) { | ||
181 | case MOVE_UP: | ||
182 | *out = WLR_DIRECTION_UP; | ||
183 | break; | ||
184 | case MOVE_DOWN: | ||
185 | *out = WLR_DIRECTION_DOWN; | ||
186 | break; | ||
187 | case MOVE_LEFT: | ||
188 | *out = WLR_DIRECTION_LEFT; | ||
189 | break; | ||
190 | case MOVE_RIGHT: | ||
191 | *out = WLR_DIRECTION_RIGHT; | ||
192 | break; | ||
193 | default: | ||
194 | return false; | ||
195 | } | ||
196 | |||
197 | return true; | ||
198 | } | ||