#include <inttypes.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
snprintf(options->
value2,
sizeof(options->
value2),
"%s",
"sample value");
}
fflush(file);
}
}
if (!payload) {
fprintf(stderr,
"Unable to initialize the payload: %s\n", status.
message);
return EXIT_FAILURE;
}
if (!config) {
fprintf(stderr,
"Unable to create a new configuration: %s\n", status.
message);
return EXIT_FAILURE;
}
fprintf(stderr,
"Unable to initialize the configuration: %s\n", status.
message);
return EXIT_FAILURE;
}
fprintf(stderr,
"Unable to check if file exists: %s\n", status.
message);
}
return EXIT_FAILURE;
}
return EXIT_SUCCESS;
}
if (!payload) {
fprintf(stderr,
"Unable to initialize the payload: %s\n", status.
message);
return EXIT_FAILURE;
}
if (!config) {
fprintf(stderr,
"Unable to create a new configuration: %s\n", status.
message);
return EXIT_FAILURE;
}
fprintf(stderr,
"Unable to initialize the configuration: %s\n", status.
message);
return EXIT_FAILURE;
}
fprintf(stderr,
"Unable to check if file exists: %s\n", status.
message);
}
return EXIT_FAILURE;
}
fprintf(stderr,
"Invalid value for option.value1: %i\n", options.
value1);
return EXIT_FAILURE;
}
if (strncmp(options.
value2,
"sample value", strlen(
"sample value")) != 0) {
fprintf(stderr,
"Invalid value for option.value2: %s\n", options.
value2);
return EXIT_FAILURE;
}
fprintf(stderr,
"Invalid value for option.value3: %i\n", options.
value3);
return EXIT_FAILURE;
}
return EXIT_SUCCESS;
}
int main(
int argc,
char **argv) {
if (argc == 2) {
if (strcmp(argv[1], "read") == 0) {
} else {
}
}
return EXIT_FAILURE;
}
bool gru_config_init_from_payload(gru_config_t *config, gru_payload_t *payload, gru_status_t *status)
Initializes a new configuration object.
Definition: gru_config.c:36
void gru_config_read_string(const char *name, FILE *source, char *dest)
Definition: gru_config.c:117
void gru_config_write_string(const char *name, FILE *dest, const char *value)
Definition: gru_config.c:169
void gru_config_write_long(const char *name, FILE *dest, int64_t value)
Definition: gru_config.c:161
void gru_config_read_int(const char *name, FILE *source, int32_t *dest)
Definition: gru_config.c:129
gru_config_t * gru_config_new(const char *dir, const char *filename, gru_status_t *status)
Creates a new configuration object.
Definition: gru_config.c:18
void gru_config_write_ulong(const char *name, FILE *dest, uint64_t value)
Definition: gru_config.c:165
void gru_config_write_short(const char *name, FILE *dest, int16_t value)
Definition: gru_config.c:145
void gru_config_read_long(const char *name, FILE *source, int64_t *dest)
Definition: gru_config.c:137
void gru_config_destroy(gru_config_t **config)
Definition: gru_config.c:65
void gru_config_read_ulong(const char *name, FILE *source, uint64_t *dest)
Definition: gru_config.c:141
void gru_config_write_int(const char *name, FILE *dest, int32_t value)
Definition: gru_config.c:153
void gru_config_read_short(const char *name, FILE *source, int16_t *dest)
Definition: gru_config.c:121
struct test_options_t_ test_options_t
Copyright 2016 Otavio Rodolfo Piske.
void read_options(FILE *file, void *data)
Definition: gru_config_test.c:55
void save_options(FILE *file, void *data)
Definition: gru_config_test.c:43
int test_write_init(int argc, char **argv)
Definition: gru_config_test.c:65
void initialize_options(void *data)
Definition: gru_config_test.c:32
int test_read_init(int argc, char **argv)
Definition: gru_config_test.c:110
int main(int argc, char **argv)
Definition: gru_list_test.c:198
bool gru_path_fexists(int fd, gru_status_t *status)
Checks whether a given file exists based on it's file descriptor.
Definition: gru_path.c:39
void gru_payload_destroy(gru_payload_t **payload)
Definition: gru_payload.c:36
gru_payload_t * gru_payload_init(gru_payload_data_init_t init, gru_payload_data_save_t save, gru_payload_data_read_t read, void *data, gru_status_t *status)
Definition: gru_payload.c:20
gru_export gru_status_t gru_status_new()
Copyright 2016 Otavio Rodolfo Piske.
Definition: gru_status.c:18
bool gru_status_error(const gru_status_t *status)
Checks for error status.
Definition: gru_status.c:83
Definition: gru_config.h:43
FILE * file
Definition: gru_config.h:46
Definition: gru_payload.h:40
Status type.
Definition: gru_status.h:47
char * message
Definition: gru_status.h:48
Copyright 2016 Otavio Rodolfo Piske.
Definition: gru_config_test.c:24
uint64_t value4
Definition: gru_config_test.c:28
int16_t value3
Definition: gru_config_test.c:27
char value2[32]
Definition: gru_config_test.c:26
int32_t value1
Definition: gru_config_test.c:25
int64_t value5
Definition: gru_config_test.c:29