glitch in the license text detected by hyazinthe, thank you!
[oweals/gnunet.git] / src / ats / plugin_ats_mlp.c
index 7d402044f1125bdfbb9722121e1a4b42ae76e5e9..0b9cf8c15b1b75065d0401678d71e984c52311b5 100644 (file)
@@ -1,21 +1,16 @@
 /*
      This file is part of GNUnet.
-     Copyright (C) 2011-2014 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2011-2014 GNUnet e.V.
 
-     GNUnet 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 3, or (at your
-     option) any later version.
+     GNUnet is free software: you can redistribute it and/or modify it
+     under the terms of the GNU Affero General Public License as published
+     by the Free Software Foundation, either version 3 of the License,
+     or (at your option) any later version.
 
      GNUnet 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 GNUnet; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
+     Affero General Public License for more details.
 */
 
 /**
@@ -785,7 +780,6 @@ mlp_create_problem_update_value (struct MLP_Problem *p,
   double *val_array;
   int *ind_array;
 
-  GNUNET_assert (NULL != p);
   GNUNET_assert (NULL != p->prob);
 
   /* Get number of columns and prepare data structure */
@@ -1589,8 +1583,8 @@ GAS_mlp_solve_problem (void *solver)
   {
     LOG(GNUNET_ERROR_TYPE_DEBUG, "Problem size changed, rebuilding\n");
     notify(mlp, GAS_OP_SOLVE_SETUP_START, GAS_STAT_SUCCESS, GAS_INFO_FULL);
-    mlp_delete_problem(mlp);
-    if (GNUNET_SYSERR == mlp_create_problem(mlp))
+    mlp_delete_problem (mlp);
+    if (GNUNET_SYSERR == mlp_create_problem (mlp))
       {
         notify(mlp, GAS_OP_SOLVE_SETUP_STOP, GAS_STAT_FAIL, GAS_INFO_FULL);
         return GNUNET_SYSERR;
@@ -1905,6 +1899,9 @@ GAS_mlp_address_property_changed (void *solver,
   struct MLP_information *mlpi = address->solver_information;
   struct GAS_MLP_Handle *mlp = solver;
 
+  if (NULL == mlp->p.prob)
+    return; /* There is no MLP problem to update yet */
+
   if (NULL == mlpi)
   {
     LOG (GNUNET_ERROR_TYPE_INFO,
@@ -2279,7 +2276,7 @@ GAS_mlp_address_change_preference (void *solver,
  */
 static void
 GAS_mlp_address_preference_feedback (void *solver,
-                                     struct GNUNET_SERVER_Client *application,
+                                     struct GNUNET_SERVICE_Client *application,
                                      const struct GNUNET_PeerIdentity *peer,
                                      const struct GNUNET_TIME_Relative scope,
                                      enum GNUNET_ATS_PreferenceKind kind,