Merge branch 'master' of ssh://openpandora.org/srv/git/pandora-libraries
authorsebt3 <sebastien.huss@gmail.com>
Mon, 13 Jun 2011 13:34:31 +0000 (09:34 -0400)
committersebt3 <sebastien.huss@gmail.com>
Mon, 13 Jun 2011 13:34:31 +0000 (09:34 -0400)
deployment/etc/pandora/conf/desktop
lib/pnd_desktop.c
lib/pnd_pxml.c
test/conftest.c
testdata/conf/desktop

index 653f332..c3135ce 100644 (file)
@@ -25,6 +25,6 @@ iconpath      /tmp/iconcache  # path for pndnotifyd to drop icons into (can be same as
 [info]
 emit_info      1                       # 0->no info .desktop; !0->yes to info .desktop
 dotdesktoppath /usr/share/applications # path for pndnotifyd to spit .desktop files into
-viewer         ../../../usr/bin/arora  # sh-script or prog to run. Use wrapper sh if needed.
-viewer_args                            # args. <- plus filename will be passed. ie: "-a filename.html"
+viewer         ../../../usr/bin/links  # sh-script or prog to run. Use wrapper sh if needed.
+viewer_args    -g -mode 800x480        # args. <- plus filename will be passed. ie: "-a filename.html"
 category       Documentation           # freedesktop standard category to use
index 3abf62d..349056d 100644 (file)
@@ -298,7 +298,8 @@ unsigned char pnd_emit_dotinfo ( char *targetpath, char *pndrun, pnd_disco_t *p
   // exec line
   char args [ 1001 ];
   char *pargs = args;
-  if ( pnd_conf_get_as_char ( desktoph, "info.viewer_args" ) ) {
+  char *viewerargs = pnd_conf_get_as_char ( desktoph, "info.viewer_args" );
+  if ( viewerargs && viewerargs [ 0 ] ) {
     snprintf ( pargs, 1001, "%s %s",
               pnd_conf_get_as_char ( desktoph, "info.viewer_args" ), p -> info_filename );
   } else {
index 4b743d4..934c75c 100644 (file)
@@ -29,7 +29,11 @@ pnd_pxml_handle *pnd_pxml_fetch ( char *fullpath ) {
 
   fseek ( f, 0, SEEK_SET );
 
-  b = (char*) malloc ( len );
+  if ( ! len ) {
+    return ( NULL );
+  }
+
+  b = (char*) malloc ( len + 1 );
 
   if ( ! b ) {
     fclose ( f );
index 43aef1a..4a65550 100644 (file)
@@ -1,12 +1,29 @@
 
 #include <stdio.h> /* for printf, NULL */
 #include <stdlib.h> /* for free */
+#include <string.h> /* for strlen */
 
 #include "pnd_conf.h"
 #include "pnd_container.h"
 #include "pnd_apps.h"
 
-int main ( void ) {
+int main ( int argc, char *argv[] ) {
+
+  // if an argument specified, try to load that one instead
+  if ( argc > 1 ) {
+    pnd_conf_handle h;
+    h = pnd_conf_fetch_by_path ( argv [ 1 ] );
+    char *i = pnd_box_get_head ( h );
+    printf ( "%s -> %s [%p:%d]\n", pnd_box_get_key ( i ), i, i, strlen ( i ) );
+    while ( ( i = pnd_box_get_next ( i ) ) ) {
+      printf ( "%s -> %s [%p:%d]\n", pnd_box_get_key ( i ), i, i, strlen ( i ) );
+    }
+
+    char *poop = pnd_conf_get_as_char ( h, "info.viewer_args" );
+    printf ( "info.viewer_args test: %s [%p:%d]\n", poop, poop, strlen ( poop ) );
+
+    exit ( 0 );
+  }
 
   // attempt to fetch a sensible default searchpath for configs
   char *configpath = pnd_conf_query_searchpath();
index b60798d..c3c8863 100644 (file)
@@ -18,6 +18,6 @@ hupscript     pnd_hup.sh
 [info]
 emit_info      1                       # 0->no info .desktop; !0->yes to info .desktop
 dotdesktoppath ./testdata/menu         # path for pndnotifyd to spit .desktop files into
-viewer         midori                  # sh-script or prog to run. Use wrapper sh if needed.
-viewer_args    -a                      # args. <- plus filename will be passed. ie: "-a filename.html"
+viewer         links                   # sh-script or prog to run. Use wrapper sh if needed.
+viewer_args                            # args. <- plus filename will be passed. ie: "-a filename.html"
 category       Documentation           # freedesktop standard category to use