Skip to content

Instantly share code, notes, and snippets.

@wagjo
Forked from Janiczek/01-original.c
Last active December 23, 2015 10:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wagjo/6619991 to your computer and use it in GitHub Desktop.
Save wagjo/6619991 to your computer and use it in GitHub Desktop.
// original
int CheckExtension (char *filename, char *ext)
{
char *s;
if (!filename) return(0);
if (strlen(filename) == 0) return(0);
s = strrchr(filename,'.');
if (!s) return(0);
if (!strcmp(s,ext)) return(1);
return(0);
}
// my take at readable C
int CheckExtension (char *filename, char *ext)
{
char *s;
return filename
&& strlen(filename)
&& (s = strrchr(filename,'.'))
&& strcmp(s,ext);
}
; high level goodness
(defn check-extension [filename extension]
(= extension
(second (re-matches (re-pattern (str ".*[.](" extension ")"))
filename))))
(defn check-extension
[filename extension]
(-> (str ".*[.](" extension ")")
re-pattern
(re-matches filename)
second
(= extension)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment