Another attempt at untangling the logic so the compiler can follow it and not generate pointless warnings.
This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)
No binary (build failed)
—
(log yok)
| @@ -142,41 +142,40 @@ int uudecode_main(int argc, char **argv) | |
| /* Search for the start of the encoding */ | |
| while ((line = bb_get_chomped_line_from_file(src_stream)) != NULL) { | |
| int (*decode_fn_ptr)(FILE * src, FILE * dst); | |
| - | char *line_ptr = NULL; |
| - | |
| + | char *line_ptr; |
| + | FILE *dst_stream; |
| + | int mode; |
| + | int ret; |
| + | |
| if (strncmp(line, "begin-base64 ", 13) == 0) { | |
| line_ptr = line + 13; | |
| decode_fn_ptr = read_base64; | |
| } else if (strncmp(line, "begin ", 6) == 0) { | |
| line_ptr = line + 6; | |
| decode_fn_ptr = read_stduu; | |
| + | } else { |
| + | free(line); |
| + | continue; |
| } | |
| - | if (line_ptr) { |
| - | FILE *dst_stream; |
| - | int mode; |
| - | int ret; |
| - | |
| - | mode = strtoul(line_ptr, NULL, 8); |
| - | if (outname == NULL) { |
| - | outname = strchr(line_ptr, ' '); |
| - | if ((outname == NULL) || (*outname == '\0')) { |
| - | break; |
| - | } |
| - | outname++; |
| - | } |
| - | if (strcmp(outname, "-") == 0) { |
| - | dst_stream = stdout; |
| - | } else { |
| - | dst_stream = xfopen(outname, "w"); |
| - | chmod(outname, mode & (S_IRWXU | S_IRWXG | S_IRWXO)); |
| + | mode = strtoul(line_ptr, NULL, 8); |
| + | if (outname == NULL) { |
| + | outname = strchr(line_ptr, ' '); |
| + | if ((outname == NULL) || (*outname == '\0')) { |
| + | break; |
| } | |
| - | free(line); |
| - | ret = decode_fn_ptr(src_stream, dst_stream); |
| - | bb_fclose_nonstdin(src_stream); |
| - | return(ret); |
| + | outname++; |
| + | } |
| + | if (strcmp(outname, "-") == 0) { |
| + | dst_stream = stdout; |
| + | } else { |
| + | dst_stream = xfopen(outname, "w"); |
| + | chmod(outname, mode & (S_IRWXU | S_IRWXG | S_IRWXO)); |
| } | |
| free(line); | |
| + | ret = decode_fn_ptr(src_stream, dst_stream); |
| + | bb_fclose_nonstdin(src_stream); |
| + | return(ret); |
| } | |
| bb_error_msg_and_die("No `begin' line"); | |
| } | |