summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/c_mpdview.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/c_mpdview.c b/src/c_mpdview.c
index 26af420..46e11ed 100644
--- a/src/c_mpdview.c
+++ b/src/c_mpdview.c
@@ -39,13 +39,14 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* mpdview: src/c_mpdview.c
- * Sun, 03 Jul 2022 16:06:29 +0200
+ * Tue, 12 Jul 2022 21:36:26 +0200
* Joe
*
* This is the entrypoint of the program.
*/
#include <sys/param.h>
+#include <sys/syslimits.h>
#include <stdlib.h>
#include <stdio.h>
@@ -70,6 +71,9 @@ c_create_view(void)
struct mpdview_s* view;
view = (struct mpdview_s*)malloc(sizeof(struct mpdview_s));
+ if (view == NULL) {
+ return (NULL);
+ }
view->conn = NULL;
view->status = NULL;
view->song = NULL;
@@ -159,17 +163,12 @@ c_get_current_dir(struct mpdview_s* v)
{
ptr_t ptr;
- snprintf(
- v->current_dir,
- PATH_MAX,
- "%s/%s",
- v->music_dir,
- mpd_song_get_uri(v->song)
- );
+ strlcpy(v->current_dir, v->music_dir, PATH_MAX);
+ v->current_dir[strlen(v->current_dir) + 1] = 0x00;
+ v->current_dir[strlen(v->current_dir)] = '/';
+ strlcat(v->current_dir, mpd_song_get_uri(v->song), PATH_MAX);
ptr = v->current_dir;
- while (*ptr != 0x00) {
- ptr++;
- }
+ ptr += strlen(v->current_dir);
while (*ptr != '/' && ptr > v->music_dir) {
ptr--;
}