]> git.sesse.net Git - vlc/blobdiff - src/input/vlmshell.c
Fix typo
[vlc] / src / input / vlmshell.c
index e9be2c50aa58e5333cd006ad96694a26875188d6..602530425217778aa434d0a869f2aa3439d75484 100644 (file)
@@ -31,7 +31,6 @@
 #endif
 
 #include <vlc_common.h>
-#include <vlc_memory.h>
 
 #include <stdio.h>
 #include <ctype.h>                                              /* tolower() */
 
 #ifdef ENABLE_VLM
 
-#ifndef WIN32
-#   include <sys/time.h>                                   /* gettimeofday() */
-#endif
-
 #include <time.h>                                                 /* ctime() */
 
 #include <vlc_input.h>
@@ -52,6 +47,7 @@
 #include <vlc_stream.h>
 #include "vlm_internal.h"
 #include <vlc_charset.h>
+#include <vlc_fs.h>
 #include <vlc_sout.h>
 #include "../stream_output/stream_output.h"
 #include "../libvlc.h"
@@ -138,7 +134,7 @@ static int Unescape( char *out, const char *in )
         // Don't escape the end of the string if we find a '#'
         // that's the begining of a vlc command
         // TODO: find a better solution
-        if( c == '#' || param )
+        if( ( c == '#' && !quote ) || param )
         {
             param = true;
             *out++ = c;
@@ -533,7 +529,7 @@ static int ExecuteExport( vlm_t *p_vlm, vlm_message_t **pp_status )
 
 static int ExecuteSave( vlm_t *p_vlm, const char *psz_file, vlm_message_t **pp_status )
 {
-    FILE *f = utf8_fopen( psz_file, "wt" );
+    FILE *f = vlc_fopen( psz_file, "wt" );
     char *psz_save = NULL;
 
     if( !f )
@@ -566,7 +562,7 @@ error:
 static int ExecuteLoad( vlm_t *p_vlm, const char *psz_url, vlm_message_t **pp_status )
 {
     stream_t *p_stream = stream_UrlNew( p_vlm, psz_url );
-    int64_t i_size;
+    uint64_t i_size;
     char *psz_buffer;
 
     if( !p_stream )
@@ -585,6 +581,8 @@ static int ExecuteLoad( vlm_t *p_vlm, const char *psz_url, vlm_message_t **pp_st
     }
 
     i_size = stream_Size( p_stream );
+    if( i_size > SIZE_MAX - 1 )
+        i_size = SIZE_MAX - 1;
 
     psz_buffer = malloc( i_size + 1 );
     if( !psz_buffer )
@@ -641,9 +639,8 @@ static int ExecuteScheduleProperty( vlm_t *p_vlm, vlm_schedule_sys_t *p_schedule
             psz_line = strdup( ppsz_property[i] );
             for( j = i+1; j < i_property; j++ )
             {
-                psz_line = realloc_or_free( psz_line,
+                psz_line = xrealloc( psz_line,
                         strlen(psz_line) + strlen(ppsz_property[j]) + 1 + 1 );
-                assert( psz_line );
                 strcat( psz_line, " " );
                 strcat( psz_line, ppsz_property[j] );
             }
@@ -667,6 +664,11 @@ static int ExecuteScheduleProperty( vlm_t *p_vlm, vlm_schedule_sys_t *p_schedule
         }
     }
     *pp_status = vlm_MessageSimpleNew( psz_cmd );
+
+    vlc_mutex_lock( &p_vlm->lock );
+    vlc_cond_signal( &p_vlm->wait );
+    vlc_mutex_unlock( &p_vlm->lock );
+
     return VLC_SUCCESS;
 
 error:
@@ -1216,6 +1218,7 @@ static int vlm_ScheduleSetup( vlm_schedule_sys_t *schedule, const char *psz_cmd,
     {
         return 1;
     }
+
     return 0;
 }