Skip to content
Extraits de code Groupes Projets
Vérifiée Valider 41faf78f rédigé par Kubat's avatar Kubat
Parcourir les fichiers

Using strtol

parent f2a53cbf
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!63Resolve "Drop libpcre dependency"
...@@ -64,3 +64,11 @@ ...@@ -64,3 +64,11 @@
#define GOTO_UNLESS(cond, msg, label) GOTO_IF(!(cond), msg, ret) #define GOTO_UNLESS(cond, msg, label) GOTO_IF(!(cond), msg, ret)
#define RETURN_UNLESS(cond, msg, ret) RETURN_IF(!(cond), msg, ret) #define RETURN_UNLESS(cond, msg, ret) RETURN_IF(!(cond), msg, ret)
#define NOTHING /* Usefull to return nothing. */ #define NOTHING /* Usefull to return nothing. */
#define STRTOL(ret, str, endptr, err_flag) \
{ \
err_flag = 0; \
errno = 0; \
ret = str == NULL ? 0 : strtol(str, &(endptr), 0); \
err_flag = errno != 0 || endptr == str; \
}
...@@ -147,6 +147,7 @@ metadata_from_path(char *const mkvfile, struct kara_metadata *meta) ...@@ -147,6 +147,7 @@ metadata_from_path(char *const mkvfile, struct kara_metadata *meta)
regmatch_t pmatch[nmatch]; regmatch_t pmatch[nmatch];
int reti, sta = false; int reti, sta = false;
char msgbuf[LEKTOR_TAG_MAX]; char msgbuf[LEKTOR_TAG_MAX];
char *endptr;
static const char *rgx = static const char *rgx =
"^/(.+)/(vo|va|amv|cdg|autres|vocaloid)/" "^/(.+)/(vo|va|amv|cdg|autres|vocaloid)/"
...@@ -178,10 +179,8 @@ metadata_from_path(char *const mkvfile, struct kara_metadata *meta) ...@@ -178,10 +179,8 @@ metadata_from_path(char *const mkvfile, struct kara_metadata *meta)
goto error; goto error;
} }
if (msgbuf[0] != '\0') { STRTOL(meta->song_number, msgbuf, endptr, reti);
meta->song_number = atoi(msgbuf); /* TODO: Use strtol */ if (reti || meta->song_number <= 0)
meta->song_number = MAX(1, meta->song_number);
} else
meta->song_number = 1; meta->song_number = 1;
sta = true; sta = true;
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter