Changeset 1632:b0661b9e951c in roaraudio
- Timestamp:
- 04/28/09 14:55:19 (15 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
roarclients/roarmonhttp.c
r1605 r1632 134 134 135 135 136 int parse_http ( void) {136 int parse_http (int * gopher) { 137 137 char buf[1024]; 138 138 char * qs = buf, *str; … … 147 147 if ( strncmp(buf, "GET /", 5) ) { 148 148 if ( strncmp(buf, "SOURCE /", 8) ) { 149 return -1; 149 if ( buf[0] != '/' ) { 150 return -1; 151 } else { 152 *gopher = 1; 153 } 150 154 } else { 151 155 dir = ROAR_DIR_PLAY; … … 154 158 } 155 159 156 qs += 5; 157 158 if ( (str = strstr(qs, " ")) == NULL ) 159 return -1; 160 161 *str = 0; 160 if ( !*gopher ) { 161 qs += 5; 162 163 if ( (str = strstr(qs, " ")) == NULL ) 164 return -1; 165 166 *str = 0; 167 } else { 168 if ( (str = strstr(qs, "\r")) != NULL ) 169 *str = 0; 170 if ( (str = strstr(qs, "\n")) != NULL ) 171 *str = 0; 172 } 162 173 163 174 for (; *qs != '?'; qs++) … … 168 179 qs++; 169 180 170 printf("HTTP/1.0 200 OK\r\n"); 181 if ( !*gopher ) 182 printf("HTTP/1.0 200 OK\r\n"); 171 183 // printf("QS: %s\r\n", qs); 172 184 … … 189 201 char * sp0 = NULL, * sp1 = NULL; 190 202 int dir = ROAR_DIR_MONITOR; 203 int gopher = 0; 191 204 192 205 alarm(0); // reset alarm timers from httpd … … 194 207 if ( argc > 1 ) 195 208 if ( ! strcmp(argv[1], "--inetd") ) 196 if ( (dir = parse_http( )) == -1 )209 if ( (dir = parse_http(&gopher)) == -1 ) 197 210 return 1; 198 211 … … 225 238 } 226 239 227 print_header(codec, rate, channels); 240 if ( !gopher ) 241 print_header(codec, rate, channels); 228 242 229 243 /*
Note: See TracChangeset
for help on using the changeset viewer.