Updated source file headers with new year and no CVS Id.
[pazpar2-moved-to-github.git] / src / logic.c
index f6bf980..d7fb5c0 100644 (file)
@@ -1,22 +1,20 @@
-/* $Id: logic.c,v 1.70 2007-10-31 05:29:08 quinn Exp $
-   Copyright (c) 2006-2007, Index Data.
+/* This file is part of Pazpar2.
+   Copyright (C) 2006-2008 Index Data
 
-   This file is part of Pazpar2.
+Pazpar2 is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2, or (at your option) any later
+version.
 
-   Pazpar2 is free software; you can redistribute it and/or modify it under
-   the terms of the GNU General Public License as published by the Free
-   Software Foundation; either version 2, or (at your option) any later
-   version.
+Pazpar2 is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
 
-   Pazpar2 is distributed in the hope that it will be useful, but WITHOUT ANY
-   WARRANTY; without even the implied warranty of MERCHANTABILITY or
-   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-   for more details.
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
-   You should have received a copy of the GNU General Public License
-   along with Pazpar2; see the file LICENSE.  If not, write to the
-   Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA.
 */
 
 /** \file logic.c
@@ -554,9 +552,12 @@ void session_alert_watch(struct session *s, int what)
     if (s->watchlist[what].fun)
     {
         /* our watch is no longer associated with http_channel */
+        void *data;
+        session_watchfun fun;
+
         http_remove_observer(s->watchlist[what].obs);
-        session_watchfun fun = s->watchlist[what].fun;
-        void *data = s->watchlist[what].data;
+        fun = s->watchlist[what].fun;
+        data = s->watchlist[what].data;
 
         /* reset watch before fun is invoked - in case fun wants to set
            it again */
@@ -1257,7 +1258,7 @@ struct record *ingest_record(struct client *cl, Z_External *rec,
                                              sizeof(union data_types));
                          
                          prt = pp2_relevance_tokenize(
-                         i   global_parameters.server->sort_pct,
+                             global_parameters.server->sort_pct,
                              rec_md->data.text.disp);
 
                          pp2_relevance_token_next(prt);
@@ -1266,6 +1267,12 @@ struct record *ingest_record(struct client *cl, Z_External *rec,
                          
                          cluster->sortkeys[sk_field_id]->text.disp = 
                              rec_md->data.text.disp;
+                         if (!sort_str)
+                         {
+                             sort_str = rec_md->data.text.disp;
+                             yaz_log(YLOG_WARN, 
+                                     "Could not make sortkey. Bug #1858");
+                         }
                          cluster->sortkeys[sk_field_id]->text.sort = 
                              nmem_strdup(se->nmem, sort_str);
 #if 0