Line data Source code
1 : /* 2 : * This program is free software; you can redistribute it and/or modify 3 : * it under the terms of the GNU General Public License as published by 4 : * the Free Software Foundation; either version 3 of the License, or 5 : * (at your option) any later version. 6 : * 7 : * This program is distributed in the hope that it will be useful, 8 : * but WITHOUT ANY WARRANTY; without even the implied warranty of 9 : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 : * GNU General Public License for more details. 11 : * 12 : * You should have received a copy of the GNU General Public License 13 : * along with this program. If not, see <http://www.gnu.org/licenses/>. 14 : */ 15 : 16 : #include "replace.h" 17 : #include "lib/util/debug.h" 18 : #include "notifyd_private.h" 19 : 20 : /* 21 : * Parse an entry in the notifyd_context->entries database 22 : */ 23 : 24 2 : bool notifyd_parse_entry( 25 : uint8_t *buf, 26 : size_t buflen, 27 : struct notifyd_instance **instances, 28 : size_t *num_instances) 29 : { 30 2 : if ((buflen % sizeof(struct notifyd_instance)) != 0) { 31 0 : DBG_WARNING("invalid buffer size: %zu\n", buflen); 32 0 : return false; 33 : } 34 : 35 2 : if (instances != NULL) { 36 2 : *instances = (struct notifyd_instance *)buf; 37 : } 38 2 : if (num_instances != NULL) { 39 2 : *num_instances = buflen / sizeof(struct notifyd_instance); 40 : } 41 2 : return true; 42 : }