Package: zen
Version: 0.2.3
Author: Guillem Jover <guillem@hadrons.org>
Status: not-sent
Description:
 Fix some compiler warnings.
 Make curses ui build again.

diff -Naur zen-0.2.3/src/ui/curses/curses_helpers.c zen-0.2.3-curses/src/ui/curses/curses_helpers.c
--- zen-0.2.3/src/ui/curses/curses_helpers.c	2001-04-29 11:43:40.000000000 +0200
+++ zen-0.2.3-curses/src/ui/curses/curses_helpers.c	2003-10-08 11:00:57.000000000 +0200
@@ -53,8 +53,6 @@
        curses_pixels(strlen(partp->data.form_submit.value));
     partp->geometry.height = curses_pixels(1);
     break;
-
-  default:
   }
 
   return 0;
diff -Naur zen-0.2.3/src/ui/curses/curses_interface.c zen-0.2.3-curses/src/ui/curses/curses_interface.c
--- zen-0.2.3/src/ui/curses/curses_interface.c	2001-04-29 11:43:40.000000000 +0200
+++ zen-0.2.3-curses/src/ui/curses/curses_interface.c	2003-10-09 07:08:17.000000000 +0200
@@ -3,6 +3,8 @@
  * @author Michael Pollard <smile3re@yahoo.com>
  */
 
+#include <signal.h>
+
 #include "info.h"
 
 /* ID of page being waited on. */
@@ -67,7 +69,8 @@
 static int nextlink(struct curses_interface *this)
 {
    curses_page_nextlink(this->activepage);
-   curses_window_text(this->activepage->activelink->data.link.href);
+   curses_window_settext(this->statusbar,
+			 this->activepage->activelink->part->data.link.href);
    if (interface_update(this)) return 1;
       
    return 0;
@@ -81,7 +84,8 @@
 static int previouslink(struct curses_interface *this)
 {
    curses_page_previouslink(this->activepage);
-   curses_window_text(this->activepage->activelink->data.link.href);
+   curses_window_settext(this->statusbar,
+			 this->activepage->activelink->part->data.link.href);
    if (interface_update(this)) return 1;
    
    return 0;
@@ -95,11 +99,11 @@
 static int followlink(struct curses_interface *this)
 {
    page_id = this->functions->request_page(
-     this->activepage->activelink->data.link.href, NULL);
+     this->activepage->activelink->part->data.link.href, NULL);
    
    sprintf(status, "Loading: %s...",
-	   this->activepage->activelink->data.link.href);
-   curses_window_text(this->statusbar);
+	   this->activepage->activelink->part->data.link.href);
+   curses_window_settext(this->statusbar, status);
    
    return 0;
 }
@@ -145,7 +149,7 @@
 			     "Enter URL: ", 2000) < 0) return 1;
    
    sprintf(status, "Loading %s...", url);
-   curses_window_settext(this->statubar, status);
+   curses_window_settext(this->statusbar, status);
    
    page_id = this->functions->request_page(url, NULL);
    
@@ -184,7 +188,7 @@
    assert(this);
    
    /* Set the default keybindings. */
-   binding = curses_key_new("pageup", KEY_PPAGE, pageup);
+   binding = curses_key_new("pageup", KEY_PPAGE, pageup, functions);
    if (!binding) {
      fprintf(stderr, "Error: Cannot set the default key bindings:\n");
      return 1;
@@ -193,21 +197,23 @@
    /* The order of testing may be significant. This is clumsy, but it's a
     * first try.
     */
-   ret = curses_key_linkin(binding, curses_key_new("quit", 'q', quit));
-   ret = curses_key_linkin(binding, curses_key_new("go", 'g', go));
-   ret = curses_key_linkin(binding, curses_key_new("forward", 'f', forward));
-   ret = curses_key_linkin(binding, curses_key_new("pagedown", KEY_NPAGE, pagedown));
-   ret = curses_key_linkin(binding, curses_key_new("pageup", KEY_PPAGE, pageup));
-   ret = curses_key_linkin(binding, curses_key_new("nextlink", KEY_RIGHT, nextlink));
-   ret = curses_key_linkin(binding, curses_key_new("previouslink", KEY_LEFT, previouslink));
-   ret = curses_key_linkin(binding, curses_key_new("followlink", KEY_ENTER, followlink));
-   ret = curses_key_linkin(binding, curses_key_new("back", KEY_BACKSPACE, back));
-   
+   ret = curses_key_linkin(binding, curses_key_new("quit", 'q', quit, functions));
+   ret = curses_key_linkin(binding, curses_key_new("go", 'g', go, functions));
+   ret = curses_key_linkin(binding, curses_key_new("forward", 'f', forward, functions));
+   ret = curses_key_linkin(binding, curses_key_new("pagedown", KEY_NPAGE, pagedown, functions));
+   ret = curses_key_linkin(binding, curses_key_new("pageup", KEY_PPAGE, pageup, functions));
+   ret = curses_key_linkin(binding, curses_key_new("nextlink", KEY_RIGHT, nextlink, functions));
+   ret = curses_key_linkin(binding, curses_key_new("previouslink", KEY_LEFT, previouslink, functions));
+   ret = curses_key_linkin(binding, curses_key_new("followlink", KEY_ENTER, followlink, functions));
+   ret = curses_key_linkin(binding, curses_key_new("back", KEY_BACKSPACE, back, functions));
+
+#if 0
    if (ret) {
-     fprintf(stderr, "Error: Cannot set default keybindings together:\n")
+     fprintf(stderr, "Error: Cannot set default keybindings together:\n");
      return 1;
    }
-   
+#endif
+
    /* Set the windows and their default values. */
    this->canvas =
      curses_window_new("canvas", 80, 100, RIGHT, MIDDLE, functions);
@@ -261,9 +267,9 @@
    }
    
    /* Configure the windows. */
-   error = curses_window_config(this->canvas);
-   error = curses_window_config(this->titlebar);
-   error = curses_window_config(this->statusbar);
+   error = curses_window_config(this->canvas, this->functions);
+   error = curses_window_config(this->titlebar, this->functions);
+   error = curses_window_config(this->statusbar, this->functions);
    if (error) {
      fprintf(stderr, "Error: Failed to configure windows:\n");
      return 1;
@@ -288,7 +294,7 @@
    immedok(this->statusbar->window, TRUE);
    
    /* Ensure good keybindings. */
-   error = curses_key_configlist(this->keys);
+   error = curses_key_configlist(this->keys, this->functions);
    if (error) {
      fprintf(stderr, "Error: Failed to configure keybindings:\n");
      return 1;
@@ -313,12 +319,12 @@
       if (!error && tmp_part) {
 	this->activepage =
 	   curses_page_linkin(this->pages, curses_page_new(tmp_part));
-	curses_window_text(this->statusbar, NULL);
+	curses_window_settext(this->statusbar, NULL);
         interface_update(this);
       }
       
       if ((key = curses_window_getkey(this->statusbar))) {
-        error = curses_key_pressed(this->keys, interface, key);
+        error = curses_key_pressed(this->keys, this, key);
 	if (error)
 	  fprintf(stderr, "Warning: There was an error with key %c:\n", key);
       }
diff -Naur zen-0.2.3/src/ui/curses/curses_key.c zen-0.2.3-curses/src/ui/curses/curses_key.c
--- zen-0.2.3/src/ui/curses/curses_key.c	2001-04-29 11:43:40.000000000 +0200
+++ zen-0.2.3-curses/src/ui/curses/curses_key.c	2003-10-08 10:47:52.000000000 +0200
@@ -67,8 +67,8 @@
    
    strcpy(this->name, name);
    
-   this->keys = (int*) calloc(1, sizeof(int));
-   if (!this->keys) {
+   this->key = (int*) calloc(1, sizeof(int));
+   if (!this->key) {
      fprintf(stderr, "Error: Cannot allocate memory for keys"
 	             " in new key:\n");
      free(this->name);
@@ -77,7 +77,7 @@
    }
    
    this->index = 1;
-   this->keys[0] = key;
+   this->key[0] = key;
    this->handler = handler;
    this->next = this->previous = NULL;
    
@@ -90,8 +90,8 @@
  * @param this List of keybindings.
  * @param newlink New keybinding to link in.
  */
-struct curse_key *curses_key_linkin(struct curses_key *this,
-		                    struct curses_key *newlink)
+struct curses_key *curses_key_linkin(struct curses_key *this,
+				     struct curses_key *newlink)
 {
    assert(this);
    
@@ -136,9 +136,9 @@
 		  	  struct zen_ui_functions *functions)
 {
    for (; this->next; this = this->next)
-     if (key_config(this)) return 1;
+     if (key_config(this, functions)) return 1;
    
-   if (key_config(this)) return 1;
+   if (key_config(this, functions)) return 1;
    
    return 0;
 }
@@ -160,7 +160,7 @@
    
    for (; this; this->next)
      for (i = 0; i < this->index; i++)
-       if (this->keys[i] == key)
+       if (this->key[i] == key)
          return this->handler(interface);
    
    /* No match for the key, but still a success. */
@@ -177,7 +177,7 @@
    assert(this);
    
    free(this->name);
-   free(this->keys);
+   free(this->key);
    free(this);
 }
 
diff -Naur zen-0.2.3/src/ui/curses/curses_page.c zen-0.2.3-curses/src/ui/curses/curses_page.c
--- zen-0.2.3/src/ui/curses/curses_page.c	2001-04-29 11:43:40.000000000 +0200
+++ zen-0.2.3-curses/src/ui/curses/curses_page.c	2003-10-08 10:40:36.000000000 +0200
@@ -32,10 +32,10 @@
   if(this->links == NULL) {
     new->next = NULL;
     new->previous = NULL;
-    links = new;
+    this->links = new;
   } else {
     /* Find the last element in the list of links. */
-    lastp = links;
+    lastp = this->links;
     while(lastp->next)
       lastp = lastp->next;
 
@@ -64,7 +64,7 @@
     free(tmp);
   }
 
-  links = NULL;
+  this->links = NULL;
 }
    
 /**
@@ -93,7 +93,7 @@
     switch(partp->type) {
     case LAYOUT_PART_TEXT:
       if(linkp)
-	add_link(partp, linkp);
+	add_link(this, partp, linkp);
       break;
     
     case LAYOUT_PART_LINK:
@@ -106,8 +106,6 @@
 	linkp = old_linkp;
       }
       break;
-       
-    default:
     }
 
     create_links(this, partp->child);
@@ -124,7 +122,7 @@
  * @param parts The layout part for the page.
  * @return Returns A new page on success and NULL otherwise.
  */
-struct curses_page *curses_page_new(struct layout_parts *parts)
+struct curses_page *curses_page_new(struct layout_part *parts)
 {
    struct curses_page *page =
      (struct curses_page*) malloc(sizeof(struct curses_page));
@@ -163,8 +161,8 @@
  * 
  * @return Returns the address of the newly inducted page.
  */
-struct curses_interface *curses_page_linkin(struct curses_page *this,
- 		                            struct curses_page *inductee)
+struct curses_page *curses_page_linkin(struct curses_page *this,
+				       struct curses_page *inductee)
 {
    assert(this);
    
@@ -249,7 +247,7 @@
    
    this->previous->next = this->next;
    this->next->previous = this->previous;
-   delete_all_links(this->links);
+   delete_all_links(this);
    free(this);
 }
 
diff -Naur zen-0.2.3/src/ui/curses/curses_window.c zen-0.2.3-curses/src/ui/curses/curses_window.c
--- zen-0.2.3/src/ui/curses/curses_window.c	2001-04-29 11:43:40.000000000 +0200
+++ zen-0.2.3-curses/src/ui/curses/curses_window.c	2003-10-09 07:07:08.000000000 +0200
@@ -59,19 +59,19 @@
    int ret;
    char optname[strlen(name) + 1 + 7 + 12];
    
-   assert(name && window && height && width && h && v && function);
+   assert(name && height && width && h && v && function);
    
    sprintf(optname, "%s%s%s", name, "_window", "_height");
-   ret = function->set_setting(optname, height, SETTING_NUMBER);
+   ret = function->set_setting(optname, &height, SETTING_NUMBER);
    
    sprintf(optname, "%s%s%s", name, "_window", "_width");
-   ret = function->set_setting(optname, width, SETTING_NUMBER);
+   ret = function->set_setting(optname, &width, SETTING_NUMBER);
    
    sprintf(optname, "%s%s%s", name, "_window", "_horozontal");
-   ret = function->set_setting(optname, h, SETTING_NUMBER);
+   ret = function->set_setting(optname, &h, SETTING_NUMBER);
    
    sprintf(optname, "%s%s%s", name, "_window", "_vertical");
-   ret = function->set_setting(optname, v, SETTING_NUMBER);
+   ret = function->set_setting(optname, &v, SETTING_NUMBER);
    
    return ret;
 }
@@ -104,7 +104,7 @@
      return 1;
    }
    
-   this->name = malloc(len);
+   this->name = malloc(strlen(name));
    if (!this->name) {
      fprintf(stderr, "Error: Cannot allocate space for window's name:\n");
      free(this);
@@ -224,7 +224,7 @@
 int curses_window_config(struct curses_window *this,
 			 struct zen_ui_functions *function)
 {
-   assert(this && name && function);
+   assert(this && function);
    return 0;
 }
 
@@ -284,7 +284,7 @@
  * @param this Window to set the text on.
  * @param text Text to put on the window.
  */
-void curses_window_settext(struct curses_widow *this, char *text)
+void curses_window_settext(struct curses_window *this, char *text)
 {
    assert(this);
    werase(this->window);
@@ -326,7 +326,7 @@
 	break;
 	
       default:
-	if (isprint(key) {
+	if (isprint(key)) {
 	  dest[i] = key;
 	  dest[i+1] = '\0';
 	}
diff -Naur zen-0.2.3/src/ui/curses/info.h zen-0.2.3-curses/src/ui/curses/info.h
--- zen-0.2.3/src/ui/curses/info.h	2001-04-29 11:43:40.000000000 +0200
+++ zen-0.2.3-curses/src/ui/curses/info.h	2003-10-08 10:50:08.000000000 +0200
@@ -107,6 +107,8 @@
    struct curses_page *previous;
 };
 
+struct curses_interface;
+
 /**
  * Describes a keybinding.
  * 
@@ -121,7 +123,7 @@
    int *key;
    int index;
    char *name;
-   int (*handler)(void);
+   int (*handler)(struct curses_interface*);
    struct curses_key *next;
    struct curses_key *previous;
 };
