/*
- * Copyright (c) 2011 David Goulet <david.goulet@polymtl.ca>
+ * Copyright (C) 2011 David Goulet <david.goulet@polymtl.ca>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License, version 2 only,
- * as published by the Free Software Foundation.
+ * SPDX-License-Identifier: GPL-2.0-only
*
- * This program 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 Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#define _LGPL_SOURCE
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
-#include <errno.h>
+#include <common/compat/errno.h>
#include <common/common.h>
#include <common/utils.h>
* Returns the path with '/CONFIG_FILENAME' added to it;
* path will be NULL if an error occurs.
*/
-char *config_get_file_path(char *path)
+char *config_get_file_path(const char *path)
{
int ret;
char *file_path;
* Returns an open FILE pointer to the config file;
* on error, NULL is returned.
*/
-static FILE *open_config(char *path, const char *mode)
+static FILE *open_config(const char *path, const char *mode)
{
FILE *fp = NULL;
char *file_path;
* On success, returns 0;
* on error, returns -1.
*/
-static int create_config_file(char *path)
+static int create_config_file(const char *path)
{
int ret;
FILE *fp;
* On success, returns 0;
* on error, returns -1.
*/
-static int write_config(char *file_path, size_t size, char *data)
+static int write_config(const char *file_path, size_t size, char *data)
{
FILE *fp;
size_t len;
/*
* Destroys directory config and file config.
*/
-void config_destroy(char *path)
+void config_destroy(const char *path)
{
int ret;
char *config_path;
*/
void config_destroy_default(void)
{
- char *path = utils_get_home_dir();
+ const char *path = utils_get_home_dir();
if (path == NULL) {
return;
}
}
static
-int _config_read_session_name(char *path, char **name)
+int _config_read_session_name(const char *path, char **name)
{
int ret = 0;
FILE *fp;
char var[NAME_MAX], *session_name;
+
#if (NAME_MAX == 255)
#define NAME_MAX_SCANF_IS_A_BROKEN_API "254"
#endif
* The caller is responsible for freeing the returned string.
* On error, NULL is returned.
*/
-char *config_read_session_name(char *path)
+char *config_read_session_name(const char *path)
{
int ret;
char *name = NULL;
* The caller is responsible for freeing the returned string.
* On error, NULL is returned.
*/
-char *config_read_session_name_quiet(char *path)
+char *config_read_session_name_quiet(const char *path)
{
char *name = NULL;
* On success, returns 0;
* on error, returns -1.
*/
-int config_add_session_name(char *path, char *name)
+int config_add_session_name(const char *path, const char *name)
{
int ret;
- char *attr = "session=";
+ const char *attr = "session=";
/* Max name len accepted plus attribute's len and the NULL byte. */
char session_name[NAME_MAX + strlen(attr) + 1];
* On success, returns 0;
* on error, returns -1.
*/
-int config_init(char *session_name)
+int config_init(const char *session_name)
{
int ret;
- char *path;
+ const char *path;
path = utils_get_home_dir();
if (path == NULL) {