Author: arekm                        Date: Sun Sep 18 21:25:54 2005 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- started port to slang2

---- Files affected:
SOURCES:
   slrn-pl-slang2.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/slrn-pl-slang2.patch
diff -u /dev/null SOURCES/slrn-pl-slang2.patch:1.1
--- /dev/null   Sun Sep 18 23:25:54 2005
+++ SOURCES/slrn-pl-slang2.patch        Sun Sep 18 23:25:49 2005
@@ -0,0 +1,683 @@
+diff -urNbB slrn-0.9.7.4.org/src/art.c slrn-0.9.7.4/src/art.c
+--- slrn-0.9.7.4.org/src/art.c 2005-09-18 22:12:15.781423000 +0200
++++ slrn-0.9.7.4/src/art.c     2005-09-18 22:59:58.958154608 +0200
+@@ -779,7 +779,7 @@
+                                            int dir)
+   /* dir: 0 is backward, 1 is forward, 2 is "find first" */
+ {
+-   SLsearch_Type st;
++   SLsearch_Type *st;
+    Slrn_Article_Line_Type *l;
+    Slrn_Article_Type *a;
+    char *ptr;
+@@ -796,7 +796,12 @@
+       if (re == NULL)
+         return NULL;
+      }
+-   else SLsearch_init (string, 1, 0, &st);
++   else 
++     {
++       if (NULL == (st = SLsearch_new ((unsigned char *)string, 0)))
++           return NULL;
++       SLsearch_init (string, 1, 0, st);
++     }
+ 
+    a = Slrn_Current_Article;
+    if (dir == 2)
+@@ -815,9 +820,8 @@
+            if (is_regexp)
+              ptr = (char *) slrn_regexp_match (re, l->buf);
+            else
+-             ptr = (char *) SLsearch ((unsigned char *) l->buf,
+-                                      (unsigned char *) l->buf + strlen 
(l->buf),
+-                                      &st);
++             ptr = (char *) SLsearch_forward (st, (unsigned char *) l->buf,
++                                      (unsigned char *) l->buf + strlen 
(l->buf));
+            
+            if (ptr != NULL)
+              {
+@@ -834,6 +838,8 @@
+       l = (dir ? l->next : l->prev);
+      }
+       
++   SLsearch_delete(st);
++      
+    return l;
+ }
+ 
+@@ -2121,7 +2127,7 @@
+       if (status == 0)
+         break;
+       
+-      if ((status == -1) || (SLang_Error == USER_BREAK))
++      if ((status == -1) || (SLang_get_err() == USER_BREAK))
+         {
+            if (Slrn_Server_Obj->sv_reset != NULL)
+              Slrn_Server_Obj->sv_reset ();
+@@ -2501,7 +2507,7 @@
+  */
+ static int check_for_current_article (void)
+ {
+-   if (SLang_Error)
++   if (SLang_get_err())
+      return -1;
+    if (Slrn_Current_Article == NULL)
+      {
+@@ -2531,7 +2537,7 @@
+      {
+       SLRegexp_Type *re;
+       re = *r++;
+-      if (NULL != (was = SLang_regexp_match ((unsigned char*) subject, len, 
re)))
++      if (NULL != (was = SLregexp_match (re, (unsigned char*) subject, len)))
+         {
+            if (was == (unsigned char*) subject)
+              was = NULL;
+@@ -2568,10 +2574,12 @@
+       while (*r != NULL)
+         {
+            SLRegexp_Type *re = *r;
+-           if (subject == (char*) SLang_regexp_match
+-               ((unsigned char*) subject, len, re))
++           if (subject == (char*) SLregexp_match
++               (re, (unsigned char*) subject, len))
+              {
+-                subject = subject + re->end_matches[0];
++                unsigned int ofs, mlen;
++                (void) SLregexp_nth_match (re, 0, &ofs, &mlen);
++                subject += mlen;
+                 break;
+              }
+            r++;
+@@ -3635,7 +3643,7 @@
+ static Slrn_Header_Type *Same_Subject_Start_Header;
+ static void next_header_same_subject (void) /*{{{*/
+ {
+-   SLsearch_Type st;
++   SLsearch_Type *st;
+    Slrn_Header_Type *l;
+    static char same_subject[256];
+    
+@@ -3646,7 +3654,9 @@
+       if (slrn_read_input (_("Subject: "), same_subject, NULL, 0, 0) <= 0) 
return;
+       Same_Subject_Start_Header = Slrn_Current_Header;
+      }
+-   SLsearch_init (same_subject, 1, 0, &st);
++   if (NULL == (st = SLsearch_new ((unsigned char *)same_subject, 0)))
++       return;
++   SLsearch_init (same_subject, 1, 0, st);
+    
+    l = Slrn_Current_Header->next;
+    
+@@ -3658,14 +3668,15 @@
+           ((l->flags & HEADER_READ) == 0) &&
+ #endif
+           (l->subject != NULL)
+-          && (NULL != SLsearch ((unsigned char *) l->subject,
+-                                (unsigned char *) l->subject + strlen 
(l->subject),
+-                                &st)))
++          && (NULL != SLsearch_forward (st, (unsigned char *) l->subject,
++                                (unsigned char *) l->subject + strlen 
(l->subject))));
+         break;
+       
+       l = l->next;
+      }
+    
++   SLsearch_delete(st);
++   
+    if (l == NULL)
+      {
+       slrn_error (_("No more articles on that subject."));
+@@ -4000,10 +4011,10 @@
+            if (-1 == save_article_as_unix_mail (Num_Tag_List.headers[i], fp))
+              {
+                 slrn_smg_refresh ();
+-                if (SLang_Error == SL_USER_BREAK)
++                if (SLang_get_err() == SL_USER_BREAK)
+                   break;
+ 
+-                SLang_Error = 0;
++                SLang_set_err(0);
+                 (void) SLang_input_pending (5);   /* half second delay */
+                 slrn_clear_message ();
+              }
+@@ -4020,7 +4031,7 @@
+            if (-1 == save_article_as_unix_mail (h, fp))
+              {
+                 slrn_smg_refresh ();
+-                SLang_Error = 0;
++                SLang_set_err(0);
+                 (void) SLang_input_pending (5);   /* half second delay */
+              }
+            else num_saved++;
+@@ -4032,7 +4043,7 @@
+      }
+    slrn_fclose (fp);
+    
+-   if (SLang_Error) return NULL;
++   if (SLang_get_err()) return NULL;
+    
+    return Output_Filename;
+ }
+@@ -4150,7 +4161,7 @@
+ # endif
+       (void) slrn_uudecode_file (file, NULL, 0, NULL);
+ 
+-      if (SLang_Error == 0)
++      if (SLang_get_err() == 0)
+         {
+            if (1 == slrn_get_yesno (1, _("Delete %s"), file))
+              {
+@@ -4586,7 +4597,7 @@
+ static void header_generic_search (int dir, int type) /*{{{*/
+ {
+    static char search_str[256];
+-   SLsearch_Type st;
++   SLsearch_Type *st;
+    Slrn_Header_Type *l;
+    char* prompt;
+    int ret;
+@@ -4599,7 +4610,10 @@
+    slrn_free (prompt);
+    if (ret <= 0) return;
+    
+-   SLsearch_init (search_str, 1, 0, &st);
++   if (NULL == (st = SLsearch_new ((unsigned char *)search_str, 0)))
++       return;
++       
++   SLsearch_init (search_str, 1, 0, st);
+    
+    if (dir > 0) l = Slrn_Current_Header->next;
+    else l = Slrn_Current_Header->prev;
+@@ -4609,20 +4623,20 @@
+       if (type == 's')
+         {
+            if ((l->subject != NULL)
+-               && (NULL != SLsearch ((unsigned char *) l->subject,
+-                                     (unsigned char *) l->subject + strlen 
(l->subject),
+-                                     &st)))
++               && (NULL != SLsearch_forward (st, (unsigned char *) l->subject,
++                                     (unsigned char *) l->subject + strlen 
(l->subject))));
+              break;
+         }
+       else if ((l->from != NULL)
+-               && (NULL != SLsearch ((unsigned char *) l->from,
+-                                     (unsigned char *) l->from + strlen 
(l->from),
+-                                     &st)))
++               && (NULL != SLsearch_forward (st, (unsigned char *) l->from,
++                                     (unsigned char *) l->from + strlen 
(l->from))));
+         break;
+       
+       if (dir > 0) l = l->next; else l = l->prev;
+      }
+    
++   SLsearch_delete(st);
++   
+    if (l == NULL)
+      {
+       slrn_error (_("Not found."));
+@@ -4858,7 +4872,7 @@
+    
+    slrn_message_now (_("Scoring articles ..."));
+    
+-   while ((h != NULL) && (SLang_Error != USER_BREAK))
++   while ((h != NULL) && (SLang_get_err() != USER_BREAK))
+      {
+       Slrn_Header_Type *prev, *next;
+       prev = h->real_prev;
+@@ -4887,10 +4901,10 @@
+         }
+       h = next;
+      }
+-   if (SLang_Error == USER_BREAK)
++   if (SLang_get_err() == USER_BREAK)
+      {
+       slrn_error ("Scoring aborted.");
+-      SLang_Error = 0;
++      SLang_set_err(0);
+      }
+    if (apply_kill)
+      Slrn_Current_Header = _art_Headers = Slrn_First_Header;
+@@ -5094,7 +5108,7 @@
+       
+       while (-1 != (this_num = slrn_read_add_xover(&l)))
+         {
+-           if (SLang_Error == USER_BREAK)
++           if (SLang_get_err() == USER_BREAK)
+              {
+                 if (Slrn_Server_Obj->sv_reset != NULL)
+                   Slrn_Server_Obj->sv_reset ();
+@@ -5138,7 +5152,7 @@
+    if (total == 0)
+      return 0;
+    
+-   if (SLang_Error == USER_BREAK)
++   if (SLang_get_err() == USER_BREAK)
+      return -1;
+ 
+    if ((reads_per_update = Slrn_Reads_Per_Update) < 5)
+@@ -5163,7 +5177,7 @@
+      {
+       int this_num;
+       
+-      if (SLang_Error == USER_BREAK)
++      if (SLang_get_err() == USER_BREAK)
+         {
+            if (Slrn_Server_Obj->sv_reset != NULL)
+              Slrn_Server_Obj->sv_reset ();
+@@ -5187,7 +5201,7 @@
+       h = process_xover (&xov);
+ 
+       if ((1 == (num % reads_per_update))
+-          && (SLang_Error == 0))
++          && (SLang_get_err() == 0))
+         {
+            slrn_message_now (_("%s: headers received: %2d/%d"),
+                              Slrn_Current_Group_Name, num, total);
+@@ -6657,7 +6671,7 @@
+            unsigned int len, i;
+            
+            SLsmg_gotorc (r - 1, 0);
+-           len = SLsmg_read_raw (buf, sizeof (buf));
++           len = SLsmg_read_raw ((SLsmg_Char_Type *)buf, sizeof (buf));
+            
+            i = (unsigned int) c;
+            while (c && (((buf[--c] >> 8) & 0xFF) == URL_COLOR))
+@@ -7074,7 +7088,7 @@
+ 
+    SLkm_define_key  ("z", (FVOID_STAR) zoom_article_window, 
Slrn_Article_Keymap);
+    
+-   if (SLang_Error) slrn_exit_error (err);
++   if (SLang_get_err()) slrn_exit_error (err);
+ }
+ 
+ /*}}}*/
+@@ -7172,7 +7186,7 @@
+ 
+ #if SLRN_HAS_SLANG
+    slrn_run_hooks (HOOK_PRE_ARTICLE_MODE, 0);
+-   if (SLang_Error)
++   if (SLang_get_err())
+      return -1;
+ #endif
+    
+@@ -7305,7 +7319,7 @@
+    
+    if ((status == -1) || SLKeyBoard_Quit)
+      {
+-      if (SLang_Error == USER_BREAK)
++      if (SLang_get_err() == USER_BREAK)
+         slrn_error_now (0, _("Group transfer aborted."));
+       else
+         slrn_error_now (0, _("Server read failed."));
+@@ -7331,7 +7345,7 @@
+ 
+       free_kill_lists_and_update ();
+       Slrn_Current_Group_Name = NULL;
+-      if ((SLang_Error == USER_BREAK) || (all != 0)) return -1;
++      if ((SLang_get_err() == USER_BREAK) || (all != 0)) return -1;
+       else return -2;
+      }
+    
+@@ -7372,7 +7386,7 @@
+ #endif
+ 
+    if (Slrn_Startup_With_Article) art_pagedn ();
+-   if (SLang_Error == 0)
++   if (SLang_get_err() == 0)
+      {
+       if (Perform_Scoring 
+           /* && (Number_Killed || Number_High_Scored) */
+diff -urNbB slrn-0.9.7.4.org/src/editscore.c slrn-0.9.7.4/src/editscore.c
+--- slrn-0.9.7.4.org/src/editscore.c   2001-11-03 16:15:11.000000000 +0100
++++ slrn-0.9.7.4/src/editscore.c       2005-09-18 23:08:21.101817168 +0200
+@@ -57,7 +57,7 @@
+    FILE *fp;
+    time_t myclock;
+    int file_modified = 0, re_error = 0;
+-   SLRegexp_Type re;
++   SLRegexp_Type *re;
+    /* Note to translators: The translated string needs to have 10 characters.
+     * Each pair becomes a valid response for "Subject", "From", "References",
+     * "Edit" and "Cancel" (in that order); you cannot use any of the default
+@@ -154,10 +154,7 @@
+       return -1;
+      }
+    
+-   re.pat = (unsigned char*) qregexp;
+-   re.buf = (unsigned char*) buf;
+-   re.buf_len = sizeof (buf);
+-   re.case_sensitive = 0;
++   re = NULL;
+    
+    if (Slrn_Prefix_Arg_Ptr == NULL)
+      {
+@@ -182,7 +179,7 @@
+       
+       if ((NULL == (q = SLregexp_quote_string (subject, qregexp, sizeof 
(qregexp)))) ||
+           (ch != 's') ||
+-          (0 != SLang_regexp_compile (&re)))
++          (NULL == (re = SLregexp_compile (qregexp, SLREGEXP_CASELESS))))
+         {
+            re_error |= (ch == 's');
+            comment = 1;
+@@ -192,10 +189,15 @@
+       fprintf (fp, "%c\tSubject: %s\n",
+                (comment ? '%' : ' '), (q ? q : subject));
+       slrn_free (subject);
++      if (re != NULL)
++      {
++          SLregexp_free (re);
++          re = NULL;
++      }
+       
+       if ((NULL == (q = SLregexp_quote_string (h->from, qregexp, sizeof 
(qregexp)))) ||
+           (ch != 'f') ||
+-          (0 != SLang_regexp_compile (&re)))
++          (NULL == (re = SLregexp_compile (qregexp, SLREGEXP_CASELESS))))
+         {
+            re_error |= (ch == 'f');
+            comment = 1;
+@@ -207,7 +209,7 @@
+       
+       if ((NULL == (q = SLregexp_quote_string (h->msgid, qregexp, sizeof 
(qregexp)))) ||
+           (ch != 'r') ||
+-          (0 != SLang_regexp_compile (&re)))
++          (NULL == (re = SLregexp_compile (qregexp, SLREGEXP_CASELESS))))
+         {
+            re_error |= (ch == 'r');
+            comment = 1;
+@@ -216,6 +218,11 @@
+         comment = 0;
+       fprintf (fp, "%c\tReferences: %s\n",
+                (comment ? '%' : ' '), (q ? q : h->msgid));
++      if (re != NULL)
++      {
++          SLregexp_free (re);
++          re = NULL;
++      }
+       
+       if (NULL != (q = SLregexp_quote_string (h->xref, qregexp, sizeof 
(qregexp))))
+         {
+diff -urNbB slrn-0.9.7.4.org/src/group.c slrn-0.9.7.4/src/group.c
+--- slrn-0.9.7.4.org/src/group.c       2005-09-18 22:12:15.782423000 +0200
++++ slrn-0.9.7.4/src/group.c   2005-09-18 23:14:22.565866280 +0200
+@@ -843,14 +843,16 @@
+ 
+ int slrn_group_search (char *str, int dir) /*{{{*/
+ {
+-   SLsearch_Type st;
++   SLsearch_Type *st = NULL;
+    Slrn_Group_Type *g;
+    int found = 0;
+    
+    g = Slrn_Group_Current_Group;
+    if (g == NULL) return 0;
+    
+-   SLsearch_init (str, 1, 0, &st);
++   st = SLsearch_new ((SLuchar_Type *) str, SLSEARCH_CASELESS);
++   if (st == NULL)
++       return 0;
+    
+    do
+      {
+@@ -868,13 +870,11 @@
+       
+       if ((g->flags & GROUP_HIDDEN) == 0)
+         {
+-           if ((NULL != SLsearch ((unsigned char *) g->group_name,
+-                                  (unsigned char *) g->group_name + strlen 
(g->group_name),
+-                                 &st))
++            if ((NULL != SLsearch_forward (st, (unsigned char *) 
g->group_name,
++                            (unsigned char *) g->group_name + strlen 
(g->group_name)))
+                || ((NULL != g->descript)
+-                   && (NULL != SLsearch ((unsigned char *) g->descript,
+-                                         (unsigned char *) g->descript + 
strlen (g->descript),
+-                                         &st))))
++                        && (NULL != SLsearch_forward (st, (unsigned char *) 
g->descript,
++                                (unsigned char *) g->descript + strlen 
(g->descript)))))
+              {
+                 found = 1;
+                 break;
+@@ -883,6 +883,8 @@
+      }
+    while (g != Slrn_Group_Current_Group);
+    
++   SLsearch_delete (st);
++   
+    Slrn_Group_Current_Group = g;
+    find_line_num ();
+    return found;
+@@ -999,17 +1001,17 @@
+    if (Slrn_Group_Current_Group == NULL) 
+      return;
+    
+-   while ((SLang_Error == 0) && (1 == slrn_group_down_n (1)))
++   while ((SLang_get_error() == 0) && (1 == slrn_group_down_n (1)))
+      {
+       if (Slrn_Group_Current_Group->unread == 0) 
+         continue;
+       
+       if (0 == slrn_group_select_group ())
+         break;
+-      else if (SLang_Error == INTRINSIC_ERROR)
++      else if (SLang_get_error() == INTRINSIC_ERROR)
+         /* all articles killed by scorefile, so proceed */
+         {
+-           SLang_Error = 0;
++           SLang_set_error(0);
+            slrn_clear_message ();
+         }
+      }
+@@ -1021,7 +1023,7 @@
+    if (Slrn_Group_Current_Group == NULL)
+      return;
+ 
+-   while ((SLang_Error == 0) && (1 == slrn_group_up_n (1)))
++   while ((SLang_get_error() == 0) && (1 == slrn_group_up_n (1)))
+      {
+        if (Slrn_Group_Current_Group->unread == 0)
+          continue;
+@@ -1469,6 +1471,7 @@
+      }
+    find_line_num ();
+    Slrn_Full_Screen_Update = 1;
++   SLregexp_free (re);
+ }
+ 
+ /*}}}*/
+@@ -1538,6 +1541,7 @@
+      }
+    find_line_num ();
+    Slrn_Full_Screen_Update = 1;
++   SLregexp_free (re);
+ }
+ 
+ /*}}}*/
+@@ -1629,6 +1633,7 @@
+              }
+            g = g->next;
+         }
++      SLregexp_free (re);
+      }
+    
+    g = Slrn_Group_Current_Group;
+@@ -1754,7 +1759,7 @@
+ 
+ #if SLRN_HAS_SLANG
+    slrn_run_hooks (HOOK_POST, 0);
+-   if (SLang_Error)
++   if (SLang_get_error())
+      return;
+ #endif
+ 
+@@ -2123,7 +2128,7 @@
+ #if USE_TEST_FUNCTION
+    SLkm_define_key  ("y", (FVOID_STAR) test_function, Slrn_Group_Keymap);
+ #endif
+-   if (SLang_Error) slrn_exit_error (err);
++   if (SLang_get_error()) slrn_exit_error (err);
+ }
+ 
+ /*}}}*/
+diff -urNbB slrn-0.9.7.4.org/src/hooks.c slrn-0.9.7.4/src/hooks.c
+--- slrn-0.9.7.4.org/src/hooks.c       2002-03-13 14:01:05.000000000 +0100
++++ slrn-0.9.7.4/src/hooks.c   2005-09-18 23:15:07.170085408 +0200
+@@ -131,7 +131,7 @@
+ {
+    unsigned int i;
+ 
+-   if (SLang_Error) return -1;
++   if (SLang_get_error()) return -1;
+   
+    if (0 == SLang_is_defined (hook))
+      return 0;
+@@ -144,7 +144,7 @@
+           break;
+      }
+ 
+-   if (SLang_Error) return -1;
++   if (SLang_get_error()) return -1;
+    return SLang_execute_function (hook);
+ }
+ 
+diff -urNbB slrn-0.9.7.4.org/src/interp.c slrn-0.9.7.4/src/interp.c
+--- slrn-0.9.7.4.org/src/interp.c      2005-09-18 22:12:15.776424000 +0200
++++ slrn-0.9.7.4/src/interp.c  2005-09-18 23:17:41.017697016 +0200
+@@ -109,7 +109,7 @@
+       
+    if (NULL == (argv = (char **) slrn_malloc (sizeof (char *) * (argc + 1), 
1, 1)))
+      {
+-      SLang_Error = SL_MALLOC_ERROR;
++      SLang_set_error(SL_MALLOC_ERROR);
+       return NULL;
+      }
+    
+@@ -528,14 +528,8 @@
+       return;
+      }
+    
+-   if ((kmap == Slrn_Keymap_RLI->keymap) &&
+-       (NULL == SLang_find_key_function(fun, kmap)))
+-     {
+-      SLKeymap_Function_Type *tmp = kmap->functions;
+-      kmap->functions = Slrn_Custom_Readline_Functions;
+-      SLang_define_key (key, fun, kmap);
+-      kmap->functions = tmp;
+-     }
++   if (kmap == SLrline_get_keymap (Slrn_Keymap_RLI))
++      (void) slrn_rline_setkey (key, fun, kmap); 
+    else
+      SLang_define_key (key, fun, kmap);
+ }
+@@ -893,7 +887,7 @@
+    
+    if (NULL == (s = (char *) SLMALLOC (len + 1)))
+      {
+-      SLang_Error = SL_MALLOC_ERROR;
++      SLang_set_error(SL_MALLOC_ERROR);
+       return NULL;
+      }
+    
+diff -urNbB slrn-0.9.7.4.org/src/menu.c slrn-0.9.7.4/src/menu.c
+--- slrn-0.9.7.4.org/src/menu.c        2005-09-18 22:12:15.783423000 +0200
++++ slrn-0.9.7.4/src/menu.c    2005-09-18 23:18:04.419139456 +0200
+@@ -766,7 +766,7 @@
+         SLkm_define_key (buf, (FVOID_STAR) sl_jump, Select_List_Keymap);
+      }
+    
+-   if (SLang_Error)
++   if (SLang_get_error())
+      return -1;
+    
<<Diff was trimmed, longer than 597 lines>>
_______________________________________________
pld-cvs-commit mailing list
pld-cvs-commit@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to