Introduce para_regcomp.
authorAndre Noll <maan@systemlinux.org>
Wed, 8 Jul 2009 21:10:49 +0000 (23:10 +0200)
committerAndre Noll <maan@systemlinux.org>
Wed, 8 Jul 2009 21:10:49 +0000 (23:10 +0200)
A wrapper for regcomp() that logs an error message if the regcomp() failed
and uses a return value according to the paraslash rules. Currently there is
only one user of regular expressions, is_v4_dot_quad(), which is converted
to para_regex(), but new callers will be added soon.

Unfortunately, this change made it necessary to include regex.h in all .c files
that use string.h. Clean up the order in which headers are included a bit while
we're at it.

Maybe I should rethink the rule "Only .c files shall include header files"...

65 files changed:
aac_afh.c
aacdec_filter.c
acl.c
afh.c
afh_common.c
afs.c
aft.c
alsa_write.c
amp_filter.c
attribute.c
audioc.c
audiod.c
audiod_command.c
blob.c
chunk_queue.c
client.c
client_common.c
close_on_fork.c
command.c
compress_filter.c
crypt.c
daemon.c
dccp_recv.c
dccp_send.c
error.h
exec.c
fade.c
fd.c
fec.c
fecdec_filter.c
file_write.c
filter.c
filter_common.c
grab_client.c
gui.c
http_recv.c
http_send.c
mood.c
mp3_afh.c
mp3dec_filter.c
net.c
ogg_afh.c
oggdec_filter.c
oss_write.c
playlist.c
prebuffer_filter.c
recv.c
recv_common.c
ringbuffer.c
sched.c
score.c
send_common.c
server.c
stat.c
stdin.c
stdout.c
string.c
string.h
udp_recv.c
udp_send.c
user_list.c
vss.c
wav_filter.c
write.c
write_common.c

index 0446117..7de7370 100644 (file)
--- a/aac_afh.c
+++ b/aac_afh.c
@@ -10,6 +10,7 @@
 
 /** \file aac_afh.c para_server's aac audio format handler */
 
+#include <regex.h>
 #include <osl.h>
 
 #include "para.h"
index 1ceca1f..59c4989 100644 (file)
@@ -10,8 +10,9 @@
 
 /** \file aacdec_filter.c paraslash's aac (m4a) decoder. */
 
-#include "para.h"
+#include <regex.h>
 
+#include "para.h"
 #include "list.h"
 #include "sched.h"
 #include "ggo.h"
diff --git a/acl.c b/acl.c
index ffcd168..087ea0c 100644 (file)
--- a/acl.c
+++ b/acl.c
@@ -6,6 +6,8 @@
 
 /** \file acl.c Access control lists for paraslash senders. */
 
+#include <regex.h>
+
 #include "para.h"
 #include "error.h"
 #include "string.h"
diff --git a/afh.c b/afh.c
index 894cd78..c006449 100644 (file)
--- a/afh.c
+++ b/afh.c
@@ -6,6 +6,7 @@
 
 /** \file afh.c Paraslash's standalone audio format handler tool. */
 
+#include <regex.h>
 #include <dirent.h>
 #include <sys/time.h>
 
index 7470146..bb04453 100644 (file)
@@ -10,6 +10,7 @@
 #include <sys/time.h> /* gettimeofday */
 #include <sys/types.h>
 #include <dirent.h>
+#include <regex.h>
 
 #include "para.h"
 #include "error.h"
diff --git a/afs.c b/afs.c
index b40fe8e..8e3aa92 100644 (file)
--- a/afs.c
+++ b/afs.c
@@ -6,6 +6,7 @@
 
 /** \file afs.c Paraslash's audio file selector. */
 
+#include <regex.h>
 #include <signal.h>
 #include <fnmatch.h>
 #include <openssl/rc4.h>
diff --git a/aft.c b/aft.c
index 6b74b0a..220e019 100644 (file)
--- a/aft.c
+++ b/aft.c
@@ -6,18 +6,18 @@
 
 /** \file aft.c Audio file table functions. */
 
+#include <regex.h>
 #include <dirent.h> /* readdir() */
 #include <openssl/rc4.h>
-
+#include <sys/mman.h>
+#include <fnmatch.h>
+#include <sys/shm.h>
 #include <osl.h>
+
 #include "para.h"
 #include "error.h"
 #include "crypt.h"
 #include "string.h"
-#include <sys/mman.h>
-#include <fnmatch.h>
-#include <sys/shm.h>
-
 #include "afh.h"
 #include "afs.h"
 #include "net.h"
index cf0f335..3c7c03b 100644 (file)
@@ -12,6 +12,7 @@
  * based on the vplay program by Michael Beck.
  */
 
+#include <regex.h>
 #include <sys/types.h>
 #include <dirent.h>
 #include <alsa/asoundlib.h>
index a62344a..63b1b9a 100644 (file)
@@ -6,6 +6,8 @@
 
 /** \file amp_filter.c Paraslash's amplify filter. */
 
+#include <regex.h>
+
 #include "para.h"
 #include "amp_filter.cmdline.h"
 #include "list.h"
index 41a1005..b962661 100644 (file)
@@ -6,6 +6,7 @@
 
 /** \file attribute.c Attribute handling functions. */
 
+#include <regex.h>
 #include <openssl/rc4.h>
 #include <osl.h>
 
index 5c081da..81e5d1c 100644 (file)
--- a/audioc.c
+++ b/audioc.c
@@ -6,6 +6,7 @@
 
 /** \file audioc.c the client program used to connect to para_audiod */
 
+#include <regex.h>
 #include <sys/types.h>
 #include <dirent.h>
 
index 29a8aa3..32c8394 100644 (file)
--- a/audiod.c
+++ b/audiod.c
@@ -5,6 +5,7 @@
  */
 
 /** \file audiod.c the paraslash's audio daemon */
+#include <regex.h>
 #include <sys/types.h>
 #include <dirent.h>
 #include <signal.h>
index da5a2dc..b331294 100644 (file)
@@ -6,6 +6,7 @@
 
 /** \file audiod_command.c commands for para_audiod */
 
+#include <regex.h>
 #include <sys/types.h>
 #include <dirent.h>
 
@@ -17,7 +18,6 @@
 #include "ggo.h"
 #include "filter.h"
 #include "grab_client.h"
-
 #include "error.h"
 #include "audiod.h"
 #include "net.h"
diff --git a/blob.c b/blob.c
index 38e5cb5..6f10f0a 100644 (file)
--- a/blob.c
+++ b/blob.c
@@ -6,6 +6,7 @@
 
 /** \file blob.c Macros and functions for blob handling. */
 
+#include <regex.h>
 #include <fnmatch.h>
 #include <openssl/rc4.h>
 #include <osl.h>
index fa31718..bb97c69 100644 (file)
@@ -6,6 +6,8 @@
 
 /** \file chunk_queue.c Queuing functions for paraslash senders. */
 
+#include <regex.h>
+
 #include "para.h"
 #include "list.h"
 #include "afh.h"
index fef6ba4..b7c1644 100644 (file)
--- a/client.c
+++ b/client.c
@@ -6,6 +6,7 @@
 
 /** \file client.c the client program used to connect to para_server */
 
+#include <regex.h>
 #include <openssl/rc4.h>
 
 #include "para.h"
index dd951c1..eb05358 100644 (file)
@@ -6,6 +6,7 @@
 
 /** \file client_common.c Common functions of para_client and para_audiod. */
 
+#include <regex.h>
 #include <sys/types.h>
 #include <dirent.h>
 #include <openssl/rc4.h>
index 378799c..fb19064 100644 (file)
@@ -5,6 +5,9 @@
  */
 
 /** \file close_on_fork.c Manage a list of fds that should be closed on fork. */
+
+#include <regex.h>
+
 #include "para.h"
 #include "list.h"
 #include "string.h"
index 90c4b60..afa1e66 100644 (file)
--- a/command.c
+++ b/command.c
@@ -6,6 +6,7 @@
 
 /** \file command.c Client authentication and server commands. */
 
+#include <regex.h>
 #include <signal.h>
 #include <sys/time.h>
 #include <sys/types.h>
index 65bc8e5..2e263e8 100644 (file)
@@ -10,6 +10,8 @@
  * Uses ideas of AudioCompress, (C) 2002-2004  M. Hari Nezumi <magenta@trikuare.cx>
  */
 
+#include <regex.h>
+
 #include "para.h"
 #include "compress_filter.cmdline.h"
 #include "list.h"
diff --git a/crypt.c b/crypt.c
index a264292..352c5b8 100644 (file)
--- a/crypt.c
+++ b/crypt.c
@@ -6,6 +6,7 @@
 
 /** \file crypt.c openssl-based RSA encryption/decryption routines */
 
+#include <regex.h>
 #include <dirent.h>
 #include <sys/types.h>
 #include <sys/socket.h>
index cae63ea..7f4aa6f 100644 (file)
--- a/daemon.c
+++ b/daemon.c
@@ -5,12 +5,14 @@
  */
 
 /** \file daemon.c Some helpers for programs that detach from the console. */
-#include "para.h"
-#include "daemon.h"
+
+#include <regex.h>
 #include <pwd.h>
 #include <sys/types.h> /* getgrnam() */
 #include <grp.h>
 
+#include "para.h"
+#include "daemon.h"
 #include "string.h"
 #include "color.h"
 
index 93dea80..4d4ac86 100644 (file)
@@ -11,6 +11,7 @@
  * (C) 2005 Ian McDonald <imcdnzl@gmail.com>
  */
 
+#include <regex.h>
 #include <sys/types.h>
 #include <dirent.h>
 
index 1e62d28..d2f81dd 100644 (file)
@@ -11,6 +11,7 @@
  * (C) 2005 Ian McDonald <imcdnzl@gmail.com>
  */
 
+#include <regex.h>
 #include <sys/types.h>
 #include <dirent.h>
 #include <osl.h>
diff --git a/error.h b/error.h
index f2e92c6..1cc40e7 100644 (file)
--- a/error.h
+++ b/error.h
@@ -274,7 +274,8 @@ extern const char **para_errlist[];
        PARA_ERROR(STRTOLL, "unknown strtoll error"), \
        PARA_ERROR(ATOI_NO_DIGITS, "no digits found in string"), \
        PARA_ERROR(ATOI_JUNK_AT_END, "further characters after number"), \
-       PARA_ERROR(SIZE_PREFIX, "bad size prefix") \
+       PARA_ERROR(SIZE_PREFIX, "bad size prefix"), \
+       PARA_ERROR(REGEX, "regular expression error") \
 
 
 #define EXEC_ERRORS \
diff --git a/exec.c b/exec.c
index 7fc4ae0..b603809 100644 (file)
--- a/exec.c
+++ b/exec.c
@@ -5,12 +5,15 @@
  */
 
 /** \file exec.c Helper functions for spawning new processes. */
+
+#include <regex.h>
 #include <dirent.h>
+
 #include "para.h"
 #include "close_on_fork.h"
 #include "error.h"
-#include "string.h"
 #include "fd.h"
+#include "string.h"
 
 /**
  * Spawn a new process and redirect fd 0, 1, and 2.
diff --git a/fade.c b/fade.c
index 7f88447..0304f4c 100644 (file)
--- a/fade.c
+++ b/fade.c
@@ -6,13 +6,9 @@
 
 /** \file fade.c A volume fader and alarm clock for linux. */
 
+#include <regex.h>
 #include <sys/types.h>
 #include <dirent.h>
-
-#include "fade.cmdline.h"
-#include "para.h"
-#include "fd.h"
-
 #include <sys/ioctl.h>
 #include <ctype.h>
 #include <stdlib.h> /* EXIT_SUCCESS */
 #include <string.h>
 #include <limits.h>
 #include <sys/soundcard.h>
+
+#include "fade.cmdline.h"
+#include "para.h"
+#include "fd.h"
 #include "string.h"
 #include "error.h"
 
-
 INIT_FADE_ERRLISTS;
 struct fade_args_info conf;
 
diff --git a/fd.c b/fd.c
index 23b89b5..3dc490c 100644 (file)
--- a/fd.c
+++ b/fd.c
@@ -6,6 +6,7 @@
 
 /** \file fd.c Helper functions for file descriptor handling. */
 
+#include <regex.h>
 #include <sys/types.h>
 #include <dirent.h>
 #include <sys/mman.h>
@@ -15,6 +16,7 @@
 #include "para.h"
 #include "error.h"
 #include "string.h"
+
 /**
  * Write a buffer to a file descriptor, re-write on short writes.
  *
diff --git a/fec.c b/fec.c
index e4cdbaf..d097b77 100644 (file)
--- a/fec.c
+++ b/fec.c
@@ -33,6 +33,7 @@
  * OF SUCH DAMAGE.
  */
 
+#include <regex.h>
 
 #include "para.h"
 #include "error.h"
index a3cba9b..7fe8743 100644 (file)
@@ -6,6 +6,8 @@
 
 /** \file fecdec_filter.c A filter fec-decodes an audio stream. */
 
+#include <regex.h>
+
 #include <dirent.h>
 #include "para.h"
 #include "error.h"
index 1c534ae..3286ea8 100644 (file)
@@ -6,6 +6,7 @@
 
 /** \file file_write.c simple output plugin for testing purposes */
 
+#include <regex.h>
 #include <sys/types.h>
 #include <dirent.h>
 #include <sys/time.h>
index b8a7c5c..4113690 100644 (file)
--- a/filter.c
+++ b/filter.c
@@ -6,8 +6,9 @@
 
 /** \file filter.c The stand-alone filter program. */
 
-#include "para.h"
+#include <regex.h>
 
+#include "para.h"
 #include "filter.cmdline.h"
 #include "list.h"
 #include "sched.h"
index fbc5b66..cfe08dd 100644 (file)
@@ -6,6 +6,7 @@
 
 /** \file filter_common.c Common helper functions for filter input/output. */
 
+#include <regex.h>
 #include <sys/types.h>
 #include <dirent.h>
 
index df5b40a..67db505 100644 (file)
@@ -11,6 +11,7 @@
  * \sa filter_chain filter_chain_info filter.
  */
 
+#include <regex.h>
 #include <sys/types.h>
 #include <dirent.h>
 
diff --git a/gui.c b/gui.c
index e734b10..4866979 100644 (file)
--- a/gui.c
+++ b/gui.c
@@ -6,14 +6,16 @@
 
 /** \file gui.c Curses-based interface for paraslash. */
 
+#include <regex.h>
 #include <signal.h>
 #include <sys/types.h>
 #include <dirent.h>
+#include <curses.h>
+
 #include "gui.cmdline.h"
 #include "para.h"
 #include "gui.h"
 #include "string.h"
-#include <curses.h>
 #include "ringbuffer.h"
 #include "fd.h"
 #include "error.h"
index 7f13034..f644233 100644 (file)
@@ -6,6 +6,7 @@
 
 /** \file http_recv.c paraslash's http receiver */
 
+#include <regex.h>
 #include <sys/types.h>
 #include <dirent.h>
 
index feb1a84..3959cad 100644 (file)
@@ -6,6 +6,7 @@
 
 /** \file http_send.c paraslash's http sender */
 
+#include <regex.h>
 #include <sys/types.h>
 #include <dirent.h>
 #include <osl.h>
diff --git a/mood.c b/mood.c
index a1ef816..f16d9c4 100644 (file)
--- a/mood.c
+++ b/mood.c
@@ -6,8 +6,10 @@
 
 /** \file mood.c Paraslash's mood handling functions. */
 
+#include <regex.h>
 #include <fnmatch.h>
 #include <osl.h>
+
 #include "para.h"
 #include "error.h"
 #include "string.h"
index ff133ca..5eacf63 100644 (file)
--- a/mp3_afh.c
+++ b/mp3_afh.c
@@ -16,7 +16,9 @@
  *                      Johannes Overmann <overmann@iname.com>
  */
 
+#include <regex.h>
 #include <osl.h>
+
 #include "para.h"
 #include "error.h"
 #include "afh.h"
index 92da4a5..aceee9a 100644 (file)
@@ -6,6 +6,9 @@
 
 /** \file mp3dec_filter.c Paraslash's mp3 decoder. */
 
+#include <mad.h>
+#include <regex.h>
+
 #include "para.h"
 #include "mp3dec_filter.cmdline.h"
 #include "list.h"
@@ -13,7 +16,6 @@
 #include "ggo.h"
 #include "filter.h"
 #include "error.h"
-#include <mad.h>
 #include "string.h"
 
 /** Convert a sample value from libmad to a signed short. */
diff --git a/net.c b/net.c
index b3588f6..61f50dd 100644 (file)
--- a/net.c
+++ b/net.c
@@ -88,7 +88,8 @@ static bool is_v4_dot_quad(const char *address)
        bool result;
        regex_t r;
 
-       assert(!regcomp(&r, "^([0-9]+\\.){3}[0-9]+$", REG_EXTENDED|REG_NOSUB));
+       assert(para_regcomp(&r, "^([0-9]+\\.){3}[0-9]+$",
+               REG_EXTENDED | REG_NOSUB) >= 0);
        result = regexec(&r, address, 0, NULL, 0) == 0;
        regfree(&r);
        return result;
index f0c1e43..65573cf 100644 (file)
--- a/ogg_afh.c
+++ b/ogg_afh.c
@@ -5,6 +5,7 @@
  */
 /** \file ogg_afh.c para_server's ogg vorbis audio format handler */
 
+#include <regex.h>
 #include <inttypes.h>
 #include <ogg/ogg.h>
 #include <vorbis/codec.h>
index b158a5e..02f04b4 100644 (file)
@@ -6,8 +6,10 @@
 
 /** \file oggdec_filter.c Paraslash's ogg vorbis decoder. */
 
-#include "para.h"
+#include <regex.h>
+#include <vorbis/vorbisfile.h>
 
+#include "para.h"
 #include "oggdec_filter.cmdline.h"
 #include "list.h"
 #include "sched.h"
@@ -16,8 +18,6 @@
 #include "error.h"
 #include "string.h"
 
-#include <vorbis/vorbisfile.h>
-
 /** Determine byte sex. */
 #ifdef WORDS_BIGENDIAN
 #define ENDIAN 1
index 552d5b9..103b14e 100644 (file)
@@ -6,6 +6,7 @@
 
 /** \file oss_write.c Paraslash's oss output plugin. */
 
+#include <regex.h>
 #include <sys/ioctl.h>
 #include <fcntl.h>
 #include <dirent.h>
index d1e16f8..852ffd7 100644 (file)
@@ -4,7 +4,9 @@
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
 
+#include <regex.h>
 #include <osl.h>
+
 #include "para.h"
 #include "error.h"
 #include "string.h"
index 1ad5f44..f23e4e5 100644 (file)
@@ -6,6 +6,8 @@
 
 /** \file prebuffer_filter.c Paraslash's prebuffering filter. */
 
+#include <regex.h>
+
 #include "para.h"
 #include "prebuffer_filter.cmdline.h"
 #include "list.h"
diff --git a/recv.c b/recv.c
index 5de9c6b..42fd335 100644 (file)
--- a/recv.c
+++ b/recv.c
@@ -6,6 +6,7 @@
 
 /** \file recv.c the stand-alone audio stream receiver */
 
+#include <regex.h>
 #include <sys/types.h>
 #include <dirent.h>
 
index c2ca29d..a568939 100644 (file)
@@ -6,8 +6,9 @@
 
 /** \file recv_common.c common functions of para_recv and para_audiod */
 
-#include "para.h"
+#include <regex.h>
 
+#include "para.h"
 #include "list.h"
 #include "sched.h"
 #include "ggo.h"
index b27fd8e..eee2ca1 100644 (file)
@@ -6,6 +6,8 @@
 
 /** \file ringbuffer.c Simple ringbuffer implementation */
 
+#include <regex.h>
+
 #include "para.h"
 #include "ringbuffer.h"
 #include "string.h"
diff --git a/sched.c b/sched.c
index 6f3f1fa..44e66c9 100644 (file)
--- a/sched.c
+++ b/sched.c
@@ -6,6 +6,7 @@
 
 /** \file sched.c Paraslash's scheduling functions. */
 
+#include <regex.h>
 #include <dirent.h> /* readdir() */
 #include <assert.h>
 #include <sys/time.h>
diff --git a/score.c b/score.c
index 3557b04..bc40668 100644 (file)
--- a/score.c
+++ b/score.c
@@ -5,7 +5,9 @@
  */
 
 /** \file score.c Scoring functions to determine the audio file streaming order. */
+#include <regex.h>
 #include <osl.h>
+
 #include "para.h"
 #include "error.h"
 #include "string.h"
index a1757a5..388fde0 100644 (file)
@@ -6,8 +6,10 @@
 
 /** \file send_common.c Functions used by more than one paraslash sender. */
 
+#include <regex.h>
 #include <dirent.h>
 #include <osl.h>
+
 #include "para.h"
 #include "error.h"
 #include "string.h"
index 2455626..be97516 100644 (file)
--- a/server.c
+++ b/server.c
@@ -64,6 +64,7 @@
 #include <dirent.h>
 #include <sys/time.h>
 #include <openssl/rc4.h>
+#include <regex.h>
 #include <osl.h>
 
 #include "para.h"
diff --git a/stat.c b/stat.c
index 1062da3..03d00d7 100644 (file)
--- a/stat.c
+++ b/stat.c
@@ -9,7 +9,7 @@
  *  and para_audiod.
  */
 
-
+#include <regex.h>
 #include <sys/types.h>
 #include <dirent.h>
 
diff --git a/stdin.c b/stdin.c
index fea30dd..8eb86de 100644 (file)
--- a/stdin.c
+++ b/stdin.c
@@ -9,9 +9,7 @@
 #include <dirent.h> /* readdir() */
 #include <assert.h>
 
-
 #include "para.h"
-#include "string.h"
 #include "list.h"
 #include "sched.h"
 #include "fd.h"
index e178fe0..d64586b 100644 (file)
--- a/stdout.c
+++ b/stdout.c
@@ -10,7 +10,6 @@
 #include <assert.h>
 
 #include "para.h"
-#include "string.h"
 #include "list.h"
 #include "sched.h"
 #include "fd.h"
index 5479e5b..bb63120 100644 (file)
--- a/string.c
+++ b/string.c
@@ -6,14 +6,14 @@
 
 /** \file string.c Memory allocation and string handling functions. */
 
-#include "para.h"
-#include "string.h"
-
 #include <sys/time.h> /* gettimeofday */
 #include <pwd.h>
 #include <sys/utsname.h> /* uname() */
 #include <string.h>
+#include <regex.h>
 
+#include "para.h"
+#include "string.h"
 #include "error.h"
 
 /**
@@ -735,3 +735,19 @@ err:
        free(argv);
        return ret;
 }
+
+int para_regcomp(regex_t *preg, const char *regex, int cflags)
+{
+       char *buf;
+       size_t size;
+       int ret = regcomp(preg, regex, cflags);
+
+       if (ret == 0)
+               return 1;
+       size = regerror(ret, preg, NULL, 0);
+       buf = para_malloc(size);
+       regerror(ret, preg, buf, size);
+       PARA_ERROR_LOG("%s\n", buf);
+       free(buf);
+       return -E_REGEX;
+}
index b3b960a..922ba69 100644 (file)
--- a/string.h
+++ b/string.h
@@ -81,3 +81,4 @@ int get_loglevel_by_name(const char *txt);
 int read_size_header(const char *buf);
 int create_argv(const char *buf, const char *delim, char ***result);
 void free_argv(char **argv);
+int para_regcomp(regex_t *preg, const char *regex, int cflags);
index ad8d51f..7bbd4b0 100644 (file)
@@ -5,6 +5,7 @@
  */
 /** \file udp_recv.c Paraslash's udp receiver */
 
+#include <regex.h>
 #include <dirent.h>
 #include <sys/socket.h>
 #include <net/if.h>
index 499af66..f8cce2b 100644 (file)
@@ -7,6 +7,7 @@
 /** \file udp_send.c Para_server's udp sender. */
 
 
+#include <regex.h>
 #include <sys/time.h>
 #include <dirent.h>
 #include <sys/socket.h>
index 1d3f21c..3c0b4f8 100644 (file)
@@ -6,6 +6,7 @@
 
 /** \file user_list.c User handling for para_server. */
 
+#include <regex.h>
 #include <sys/types.h>
 #include <dirent.h>
 #include <openssl/rc4.h>
diff --git a/vss.c b/vss.c
index 57e531e..21f4cb4 100644 (file)
--- a/vss.c
+++ b/vss.c
@@ -11,6 +11,7 @@
  * senders.
  */
 
+#include <regex.h>
 #include <dirent.h>
 #include <osl.h>
 
index 1c0da18..3c69311 100644 (file)
@@ -6,9 +6,10 @@
 
 /** \file wav_filter.c A filter that inserts a wave header. */
 
+#include <regex.h>
+
 #include "para.h"
 #include "error.h"
-
 #include "list.h"
 #include "sched.h"
 #include "ggo.h"
diff --git a/write.c b/write.c
index c12736a..34cea48 100644 (file)
--- a/write.c
+++ b/write.c
@@ -6,6 +6,7 @@
 
 /** \file write.c Paraslash's standalone wav/raw player. */
 
+#include <regex.h>
 #include <sys/types.h>
 #include <dirent.h>
 
index 476df8f..5eb6b79 100644 (file)
@@ -6,6 +6,8 @@
 
 /** \file write_common.c common functions of para_audiod and para_write */
 
+#include <regex.h>
+
 #include "para.h"
 #include "string.h"
 #include "list.h"