shithub: sox

Download patch

ref: 120b9c56f2afff5e8bf5e9cf8c06a6c8df744384
parent: 4e4db8fd09db5fc54df1572fab1eb93232d75ecd
author: rrt <rrt>
date: Sun Mar 18 16:14:58 EDT 2007

Move is_uri and xfopen from util.c to misc.c

--- a/src/misc.c
+++ b/src/misc.c
@@ -612,3 +612,29 @@
   ENUM_ITEM(SOX_WAVE_,TRIANGLE)
   {0, 0}};
 
+sox_bool is_uri(char const * text)
+{
+  if (!isalpha(*text))
+    return sox_false;
+  ++text;
+  do {
+    if (!isalnum(*text) && !strchr("+-.", *text))
+      return sox_false;
+    ++text;
+  } while (*text && *text != ':');
+  return *text == ':';
+}
+
+FILE * xfopen(char const * identifier, char const * mode) 
+{ 
+  if (is_uri(identifier)) {
+    FILE * f; 
+    char const * const command_format = "wget -q -O- \"%s\"";
+    char * command = xmalloc(strlen(command_format) + strlen(identifier)); 
+    sprintf(command, command_format, identifier); 
+    f = popen(command, "r"); 
+    free(command); 
+    return f;
+  }
+  return fopen(identifier, mode);
+} 
--- a/src/sox_i.h
+++ b/src/sox_i.h
@@ -58,10 +58,11 @@
 #define ENUM_ITEM(prefix, item) {#item, prefix##item},
 enum_item const * find_enum_text(
     char const * text, enum_item const * enum_items);
-
 typedef enum {SOX_SHORT, SOX_INT, SOX_FLOAT, SOX_DOUBLE} sox_data_t;
 typedef enum {SOX_WAVE_SINE, SOX_WAVE_TRIANGLE} sox_wave_t;
 extern enum_item const sox_wave_enum[];
+sox_bool is_uri(char const * text);
+FILE * xfopen(char const * identifier, char const * mode);
 
 /* Define fseeko and ftello for platforms lacking them */
 #ifndef HAVE_FSEEKO
@@ -144,8 +145,6 @@
 extern sox_output_message_handler_t sox_output_message_handler;
 extern int sox_output_verbosity_level;
 void sox_output_message(FILE *file, const char *filename, const char *fmt, va_list ap);
-sox_bool is_uri(char const * text);
-FILE * xfopen(char const * identifier, char const * mode);
 
 void sox_fail(const char *, ...);
 void sox_warn(const char *, ...);
--- a/src/util.c
+++ b/src/util.c
@@ -364,30 +364,3 @@
     }
     return NULL;
 }
-
-sox_bool is_uri(char const * text)
-{
-  if (!isalpha(*text))
-    return sox_false;
-  ++text;
-  do {
-    if (!isalnum(*text) && !strchr("+-.", *text))
-      return sox_false;
-    ++text;
-  } while (*text && *text != ':');
-  return *text == ':';
-}
-
-FILE * xfopen(char const * identifier, char const * mode) 
-{ 
-  if (is_uri(identifier)) {
-    FILE * f; 
-    char const * const command_format = "wget -q -O- \"%s\"";
-    char * command = xmalloc(strlen(command_format) + strlen(identifier)); 
-    sprintf(command, command_format, identifier); 
-    f = popen(command, "r"); 
-    free(command); 
-    return f;
-  }
-  return fopen(identifier, mode);
-}