Hi Cyril,
I have updated the patch according to your comment.
Many thanks for your suggestion.
Yuan
On 2015/6/4 21:02, Cyril Hrubis wrote:
> Hi!
> Can you also change the error_function() to return void and remove the
> return -1 from it?
>
>> diff --git a/testcases/kernel/controllers/libcontrollers/libcontrollers.c
>> b/testcases/kernel/controllers/libcontrollers/libcontrollers.c
>> index b01e1b8..ebf9870 100644
>> --- a/testcases/kernel/controllers/libcontrollers/libcontrollers.c
>> +++ b/testcases/kernel/controllers/libcontrollers/libcontrollers.c
>> @@ -50,8 +50,10 @@ int scan_shares_files(unsigned int *shares_pointer)
>> /*
>> * Check if we can get stat of the file
>> */
>> - if (lstat(fullpath, &statbuffer) < 0)
>> + if (lstat(fullpath, &statbuffer) < 0) {
>> error_function("Can not read stat for file ", fullpath);
>> + return -1;
>> + }
>>
>> if (S_ISDIR(statbuffer.st_mode) == 0) { /* not a directory */
>> /*
>> @@ -75,8 +77,10 @@ int scan_shares_files(unsigned int *shares_pointer)
>> *path_pointer++ = '/';
>> *path_pointer = 0;
>>
>> - if ((dp = opendir(fullpath)) == NULL) /* Error in opening directory */
>> + if ((dp = opendir(fullpath)) == NULL) { /* Error in opening directory */
>> error_function("Can't open ", fullpath);
>> + return -1;
>> + }
>> /*
>> * search all groups recursively and get total shares
>> */
>> @@ -99,8 +103,10 @@ int scan_shares_files(unsigned int *shares_pointer)
>>
>> path_pointer[-1] = 0;
>>
>> - if (closedir(dp) < 0)
>> + if (closedir(dp) < 0) {
>> error_function("Could not close dir ", fullpath);
>> + return -1;
>> + }
>> return 0;
>> }
>>
>> @@ -115,27 +121,35 @@ int read_file(char *filepath, int action, unsigned int
>> *value)
>> {
>> int num_line = 0;
>> FILE *fp;
>> + int tmp;
>> switch (action) {
>> case GET_SHARES:
>> - *value = read_shares_file(filepath);
>> - if (*value == -1)
>> + tmp = read_shares_file(filepath);
>> + if (tmp == -1)
>> return -1;
>> + else
>> + *value = (unsigned int)tmp;
> There is no need for the else branch. If tmp is -1 the code below would
> not be reached anyway.
>
>> break;
>>
>> case GET_TASKS:
>> fp = fopen(filepath, "r");
>> - if (fp == NULL)
>> + if (fp == NULL) {
>> error_function("Could not open file", filepath);
>> + return -1;
>> + }
>> while (fgets(target, LINE_MAX, fp) != NULL)
>> num_line++;
>> *value = (unsigned int)num_line;
>> - if (fclose(fp))
>> + if (fclose(fp)) {
>> error_function("Could not close file", filepath);
>> + return -1;
>> + }
>> break;
>>
>> default:
>> error_function("Wrong action type passed to fun read_file for ",
>> filepath);
>> + return -1;
>> break;
> No need to keep the break after return.
>
>> }
>> return 0;
>> @@ -159,17 +173,20 @@ inline int error_function(char *msg1, char *msg2)
>> * the given pointer location. Returns 0 if success
>> */
>>
>> -unsigned
>> int read_shares_file(char *filepath)
>> {
>> FILE *fp;
>> unsigned int shares;
>> fp = fopen(filepath, "r");
>> - if (fp == NULL)
>> + if (fp == NULL) {
>> error_function("Could not open file", filepath);
>> + return -1;
>> + }
>> fscanf(fp, "%u", &shares);
>> - if (fclose(fp))
>> + if (fclose(fp)) {
>> error_function("Could not close file", filepath);
>> + return -1;
>> + }
>> return shares;
>> }
>>
>> @@ -181,8 +198,10 @@ int write_to_file(char *file, const char *mode,
>> unsigned int value)
>> {
>> FILE *fp;
>> fp = fopen(file, mode);
>> - if (fp == NULL)
>> + if (fp == NULL) {
>> error_function("in opening file for writing:", file);
>> + return -1;
>> + }
>> fprintf(fp, "%u\n", value);
>> fclose(fp);
>> return 0;
>> diff --git a/testcases/kernel/controllers/libcontrollers/libcontrollers.h
>> b/testcases/kernel/controllers/libcontrollers/libcontrollers.h
>> index 4001555..78a7fed 100644
>> --- a/testcases/kernel/controllers/libcontrollers/libcontrollers.h
>> +++ b/testcases/kernel/controllers/libcontrollers/libcontrollers.h
>> @@ -72,7 +72,7 @@ enum{
>>
>> inline int error_function(char *msg1, char *msg2);
>>
>> -unsigned int read_shares_file (char *filepath);
>> +int read_shares_file(char *filepath);
>>
>> int read_file(char *filepath, int action, unsigned int *value);
>>
>> --
>> 1.9.1
>>
------------------------------------------------------------------------------
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list