1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-01-02 01:18:26 +03:00

Add printf format attributes to yes_no_prompt & dm_{sn,as}printf and fix a calle

This commit is contained in:
Alasdair Kergon 2010-07-02 21:16:50 +00:00
parent d99d4bd026
commit db3c1ac1c8
6 changed files with 15 additions and 10 deletions

View File

@ -1,5 +1,6 @@
Version 2.02.70 - Version 2.02.70 -
================================ ================================
Add printf format attributes to yes_no_prompt and fix a caller.
Always pass unsuspended dm devices through persistent filter to other filters. Always pass unsuspended dm devices through persistent filter to other filters.
Move test for suspended dm devices ahead of other filters. Move test for suspended dm devices ahead of other filters.
Fix another segfault in clvmd -R if no response from daemon received. (2.02.68) Fix another segfault in clvmd -R if no response from daemon received. (2.02.68)

View File

@ -1,5 +1,6 @@
Version 1.02.52 - Version 1.02.52 -
================================ ================================
Add printf format attributes to dm_{sn,as}printf and fix a caller.
Move dmeventd man page from install_lvm2 to install_device-mapper. (1.02.50) Move dmeventd man page from install_lvm2 to install_device-mapper. (1.02.50)
Version 1.02.51 - 30th June 2010 Version 1.02.51 - 30th June 2010

View File

@ -59,6 +59,6 @@ void display_segtypes(const struct cmd_context *cmd);
const char *get_alloc_string(alloc_policy_t alloc); const char *get_alloc_string(alloc_policy_t alloc);
alloc_policy_t get_alloc_from_string(const char *str); alloc_policy_t get_alloc_from_string(const char *str);
char yes_no_prompt(const char *prompt, ...); char yes_no_prompt(const char *prompt, ...) __attribute__ ((format(printf, 1, 2)));
#endif #endif

View File

@ -1543,7 +1543,7 @@ int remove_mirror_log(struct cmd_context *cmd,
return 0; return 0;
} else if (yes_no_prompt("Full resync required to convert " } else if (yes_no_prompt("Full resync required to convert "
"inactive mirror %s to core log. " "inactive mirror %s to core log. "
"Proceed? [y/n]: ") == 'y') "Proceed? [y/n]: ", lv->name) == 'y')
sync_percent = 0; sync_percent = 0;
else else
return 0; return 0;

View File

@ -66,6 +66,7 @@ void dm_log_init_verbose(int level);
typedef void (*dm_log_fn) (int level, const char *file, int line, typedef void (*dm_log_fn) (int level, const char *file, int line,
const char *f, ...) const char *f, ...)
__attribute__ ((format(printf, 4, 5))); __attribute__ ((format(printf, 4, 5)));
void dm_log_init(dm_log_fn fn); void dm_log_init(dm_log_fn fn);
/* /*
* For backward-compatibility, indicate that dm_log_init() was used * For backward-compatibility, indicate that dm_log_init() was used
@ -943,7 +944,8 @@ int dm_split_words(char *buffer, unsigned max,
/* /*
* Returns -1 if buffer too small * Returns -1 if buffer too small
*/ */
int dm_snprintf(char *buf, size_t bufsize, const char *format, ...); int dm_snprintf(char *buf, size_t bufsize, const char *format, ...)
__attribute__ ((format(printf, 3, 4)));
/* /*
* Returns pointer to the last component of the path. * Returns pointer to the last component of the path.
@ -975,7 +977,8 @@ int dm_fclose(FILE *stream);
* Pointer to the buffer is stored in *buf. * Pointer to the buffer is stored in *buf.
* Returns -1 on failure leaving buf undefined. * Returns -1 on failure leaving buf undefined.
*/ */
int dm_asprintf(char **buf, const char *format, ...); int dm_asprintf(char **buf, const char *format, ...)
__attribute__ ((format(printf, 2, 3)));
/********************* /*********************
* regular expressions * regular expressions

View File

@ -1442,7 +1442,7 @@ static int _emit_areas_line(struct dm_task *dmt __attribute((unused)),
struct seg_area *area; struct seg_area *area;
char devbuf[DM_FORMAT_DEV_BUFSIZE]; char devbuf[DM_FORMAT_DEV_BUFSIZE];
unsigned first_time = 1; unsigned first_time = 1;
const char *logtype; const char *logtype, *synctype;
unsigned log_parm_count; unsigned log_parm_count;
dm_list_iterate_items(area, &seg->areas) { dm_list_iterate_items(area, &seg->areas) {
@ -1475,12 +1475,12 @@ static int _emit_areas_line(struct dm_task *dmt __attribute((unused)),
EMIT_PARAMS(*pos, " %s %u%s %" PRIu64, logtype, EMIT_PARAMS(*pos, " %s %u%s %" PRIu64, logtype,
log_parm_count, devbuf, area->region_size); log_parm_count, devbuf, area->region_size);
logtype = (area->flags & DM_NOSYNC) ? synctype = (area->flags & DM_NOSYNC) ?
" nosync" : (area->flags & DM_FORCESYNC) ? " nosync" : (area->flags & DM_FORCESYNC) ?
" sync" : NULL; " sync" : NULL;
if (logtype) if (synctype)
EMIT_PARAMS(*pos, logtype); EMIT_PARAMS(*pos, "%s", synctype);
} }
break; break;
default: default: