Strangely, using // in the comments I added was not a persistent accident.
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)
| @@ -21,7 +21,7 @@ | |
| * included after these prototypes in libbb.h, all is well. | |
| */ | |
| #ifdef L_xmalloc | |
| - | /* Die if we can't allocate size bytes of memory. */ |
| + | // Die if we can't allocate size bytes of memory. |
| void *xmalloc(size_t size) | |
| { | |
| void *ptr = malloc(size); | |
| @@ -32,9 +32,9 @@ void *xmalloc(size_t size) | |
| #endif | |
| #ifdef L_xrealloc | |
| - | /* Die if we can't resize previously allocated memory. (This returns a pointer |
| - | * to the new memory, which may or may not be the same as the old memory. |
| - | * It'll copy the contents to a new chunk and free the old one if necessary.) */ |
| + | // Die if we can't resize previously allocated memory. (This returns a pointer |
| + | // to the new memory, which may or may not be the same as the old memory. |
| + | // It'll copy the contents to a new chunk and free the old one if necessary.) |
| void *xrealloc(void *ptr, size_t size) | |
| { | |
| ptr = realloc(ptr, size); | |
| @@ -47,7 +47,7 @@ void *xrealloc(void *ptr, size_t size) | |
| #ifdef L_xzalloc | |
| - | /* Die if we can't allocate and zero size bytes of memory. */ |
| + | // Die if we can't allocate and zero size bytes of memory. |
| void *xzalloc(size_t size) | |
| { | |
| void *ptr = xmalloc(size); | |
| @@ -57,7 +57,7 @@ void *xzalloc(size_t size) | |
| #endif | |
| #ifdef L_xstrdup | |
| - | /* Die if we can't copy a string to freshly allocated memory. */ |
| + | // Die if we can't copy a string to freshly allocated memory. |
| char * xstrdup(const char *s) | |
| { | |
| char *t; | |
| @@ -75,9 +75,8 @@ char * xstrdup(const char *s) | |
| #endif | |
| #ifdef L_xstrndup | |
| - | /* Die if we can't allocate n+1 bytes (space for the null terminator) and copy |
| - | * the (possibly truncated to length n) string into it. |
| - | */ |
| + | // Die if we can't allocate n+1 bytes (space for the null terminator) and copy |
| + | // the (possibly truncated to length n) string into it. |
| char * xstrndup(const char *s, int n) | |
| { | |
| char *t; | |
| @@ -92,9 +91,8 @@ char * xstrndup(const char *s, int n) | |
| #endif | |
| #ifdef L_xfopen | |
| - | /* Die if we can't open a file and return a FILE * to it. |
| - | * Notice we haven't got xfread(), This is for use with fscanf() and friends. |
| - | */ |
| + | // Die if we can't open a file and return a FILE * to it. |
| + | // Notice we haven't got xfread(), This is for use with fscanf() and friends. |
| FILE *xfopen(const char *path, const char *mode) | |
| { | |
| FILE *fp; | |
| @@ -105,7 +103,7 @@ FILE *xfopen(const char *path, const char *mode) | |
| #endif | |
| #ifdef L_xopen | |
| - | /* Die if we can't open an existing file and return an fd. */ |
| + | // Die if we can't open an existing file and return an fd. |
| int xopen(const char *pathname, int flags) | |
| { | |
| if (ENABLE_DEBUG && (flags & O_CREAT)) | |
| @@ -116,7 +114,7 @@ int xopen(const char *pathname, int flags) | |
| #endif | |
| #ifdef L_xopen3 | |
| - | /* Die if we can't open a new file and return an fd. */ |
| + | // Die if we can't open a new file and return an fd. |
| int xopen3(const char *pathname, int flags, int mode) | |
| { | |
| int ret; | |
| @@ -130,7 +128,7 @@ int xopen3(const char *pathname, int flags, int mode) | |
| #endif | |
| #ifdef L_xread | |
| - | /* Die with an error message if we can't read the entire buffer. */ |
| + | // Die with an error message if we can't read the entire buffer. |
| void xread(int fd, void *buf, size_t count) | |
| { | |
| while (count) { | |
| @@ -145,7 +143,7 @@ void xread(int fd, void *buf, size_t count) | |
| #endif | |
| #ifdef L_xwrite | |
| - | /* Die with an error message if we can't write the entire buffer. */ |
| + | // Die with an error message if we can't write the entire buffer. |
| void xwrite(int fd, void *buf, size_t count) | |
| { | |
| while (count) { | |
| @@ -160,7 +158,7 @@ void xwrite(int fd, void *buf, size_t count) | |
| #endif | |
| #ifdef L_xlseek | |
| - | /* Die with an error message if we can't lseek to the right spot. */ |
| + | // Die with an error message if we can't lseek to the right spot. |
| void xlseek(int fd, off_t offset, int whence) | |
| { | |
| if (offset != lseek(fd, offset, whence)) bb_error_msg_and_die("lseek"); | |
| @@ -168,7 +166,7 @@ void xlseek(int fd, off_t offset, int whence) | |
| #endif | |
| #ifdef L_xread_char | |
| - | /* Die with an error message if we can't read one character. */ |
| + | // Die with an error message if we can't read one character. |
| unsigned char xread_char(int fd) | |
| { | |
| char tmp; | |
| @@ -180,7 +178,7 @@ unsigned char xread_char(int fd) | |
| #endif | |
| #ifdef L_xferror | |
| - | /* Die with supplied error message if this FILE * has ferror set. */ |
| + | // Die with supplied error message if this FILE * has ferror set. |
| void xferror(FILE *fp, const char *fn) | |
| { | |
| if (ferror(fp)) { | |
| @@ -190,7 +188,7 @@ void xferror(FILE *fp, const char *fn) | |
| #endif | |
| #ifdef L_xferror_stdout | |
| - | /* Die with an error message if stdout has ferror set. */ |
| + | // Die with an error message if stdout has ferror set. |
| void xferror_stdout(void) | |
| { | |
| xferror(stdout, bb_msg_standard_output); | |
| @@ -198,7 +196,7 @@ void xferror_stdout(void) | |
| #endif | |
| #ifdef L_xfflush_stdout | |
| - | /* Die with an error message if we have trouble flushing stdout. */ |
| + | // Die with an error message if we have trouble flushing stdout. |
| void xfflush_stdout(void) | |
| { | |
| if (fflush(stdout)) { | |
| @@ -208,25 +206,24 @@ void xfflush_stdout(void) | |
| #endif | |
| #ifdef L_spawn | |
| - | /* This does a fork/exec in one call, using vfork(). Return PID of new child, |
| - | * -1 for failure. Runs argv[0], searching path if that has no / in it. |
| - | */ |
| + | // This does a fork/exec in one call, using vfork(). Return PID of new child, |
| + | // -1 for failure. Runs argv[0], searching path if that has no / in it. |
| pid_t spawn(char **argv) | |
| { | |
| static int failed; | |
| pid_t pid; | |
| void *app = ENABLE_FEATURE_SH_STANDALONE_SHELL ? find_applet_by_name(argv[0]) : 0; | |
| - | /* Be nice to nommu machines. */ |
| + | // Be nice to nommu machines. |
| failed = 0; | |
| pid = vfork(); | |
| if (pid < 0) return pid; | |
| if (!pid) { | |
| execvp(app ? CONFIG_BUSYBOX_EXEC_PATH : *argv, argv); | |
| - | /* We're sharing a stack with blocked parent, let parent know we failed |
| - | * and then exit to unblock parent (but don't run atexit() stuff, which |
| - | would screw up parent.) */ |
| + | // We're sharing a stack with blocked parent, let parent know we failed |
| + | // and then exit to unblock parent (but don't run atexit() stuff, which |
| + | // would screw up parent.) |
| failed = -1; | |
| _exit(0); | |
| @@ -236,7 +233,7 @@ pid_t spawn(char **argv) | |
| #endif | |
| #ifdef L_xspawn | |
| - | /* Die with an error message if we can't spawn a child process. */ |
| + | // Die with an error message if we can't spawn a child process. |
| pid_t xspawn(char **argv) | |
| { | |
| pid_t pid = spawn(argv); | |
| @@ -246,7 +243,7 @@ pid_t xspawn(char **argv) | |
| #endif | |
| #ifdef L_wait4 | |
| - | /* Wait for the specified child PID to exit, returning child's error return. */ |
| + | // Wait for the specified child PID to exit, returning child's error return. |
| int wait4pid(int pid) | |
| { | |
| int status; | |
| @@ -259,9 +256,9 @@ int wait4pid(int pid) | |
| #endif | |
| #ifdef L_itoa | |
| - | /* Convert unsigned integer to ascii, writing into supplied buffer. A |
| - | * truncated result is always null terminated (unless buflen is 0), and |
| - | * contains the first few digits of the result ala strncpy. */ |
| + | // Convert unsigned integer to ascii, writing into supplied buffer. A |
| + | // truncated result is always null terminated (unless buflen is 0), and |
| + | // contains the first few digits of the result ala strncpy. |
| void utoa_to_buf(unsigned n, char *buf, unsigned buflen) | |
| { | |
| int i, out = 0; | |
| @@ -279,7 +276,7 @@ void utoa_to_buf(unsigned n, char *buf, unsigned buflen) | |
| } | |
| } | |
| - | /* Convert signed integer to ascii, like utoa_to_buf() */ |
| + | // Convert signed integer to ascii, like utoa_to_buf() |
| void itoa_to_buf(int n, char *buf, unsigned buflen) | |
| { | |
| if (buflen && n<0) { | |
| @@ -290,16 +287,16 @@ void itoa_to_buf(int n, char *buf, unsigned buflen) | |
| utoa_to_buf((unsigned)n, buf, buflen); | |
| } | |
| - | /* The following two functions use a static buffer, so calling either one a |
| - | * second time will overwrite previous results. |
| - | * |
| - | * The largest 32 bit integer is -2 billion plus null terminator, or 12 bytes. |
| - | * Int should always be 32 bits on any remotely Unix-like system, see |
| - | * http://www.unix.org/whitepapers/64bit.html for the reasons why. |
| - | */ |
| + | // The following two functions use a static buffer, so calling either one a |
| + | // second time will overwrite previous results. |
| + | // |
| + | // The largest 32 bit integer is -2 billion plus null terminator, or 12 bytes. |
| + | // Int should always be 32 bits on any remotely Unix-like system, see |
| + | // http://www.unix.org/whitepapers/64bit.html for the reasons why. |
| + | |
| static char local_buf[12]; | |
| - | /* Convert unsigned integer to ascii using a static buffer (returned). */ |
| + | // Convert unsigned integer to ascii using a static buffer (returned). |
| char *utoa(unsigned n) | |
| { | |
| utoa_to_buf(n, local_buf, sizeof(local_buf)); | |
| @@ -307,7 +304,7 @@ char *utoa(unsigned n) | |
| return local_buf; | |
| } | |
| - | /* Convert signed integer to ascii using a static buffer (returned). */ |
| + | // Convert signed integer to ascii using a static buffer (returned). |
| char *itoa(int n) | |
| { | |
| itoa_to_buf(n, local_buf, sizeof(local_buf)); | |
| @@ -317,15 +314,15 @@ char *itoa(int n) | |
| #endif | |
| #ifdef L_setuid | |
| - | /* Die with an error message if we can't set gid. (Because resource limits may |
| - | * limit this user to a given number of processes, and if that fills up the |
| - | * setgid() will fail and we'll _still_be_root_, which is bad.) */ |
| + | // Die with an error message if we can't set gid. (Because resource limits may |
| + | // limit this user to a given number of processes, and if that fills up the |
| + | // setgid() will fail and we'll _still_be_root_, which is bad.) |
| void xsetgid(gid_t gid) | |
| { | |
| if (setgid(gid)) bb_error_msg_and_die("setgid"); | |
| } | |
| - | /* Die with an error message if we cant' set uid. (See xsetgid() for why.) */ |
| + | // Die with an error message if we cant' set uid. (See xsetgid() for why.) |
| void xsetuid(uid_t uid) | |
| { | |
| if (setuid(uid)) bb_error_msg_and_die("setuid"); | |
| @@ -333,31 +330,31 @@ void xsetuid(uid_t uid) | |
| #endif | |
| #ifdef L_fdlength | |
| - | /* Return how long the file at fd is, if there's any way to determine it. */ |
| + | // Return how long the file at fd is, if there's any way to determine it. |
| off_t fdlength(int fd) | |
| { | |
| off_t bottom = 0, top = 0, pos; | |
| long size; | |
| - | /* If the ioctl works for this, return it. */ |
| + | // If the ioctl works for this, return it. |
| if (ioctl(fd, BLKGETSIZE, &size) >= 0) return size*512; | |
| - | /* If not, do a binary search for the last location we can read. (Some |
| - | * block devices don't do BLKGETSIZE right.) */ |
| + | // If not, do a binary search for the last location we can read. (Some |
| + | // block devices don't do BLKGETSIZE right.) |
| do { | |
| char temp; | |
| pos = bottom + (top - bottom) / 2; | |
| - | /* If we can read from the current location, it's bigger. */ |
| + | // If we can read from the current location, it's bigger. |
| if (lseek(fd, pos, 0)>=0 && safe_read(fd, &temp, 1)==1) { | |
| if (bottom == top) bottom = top = (top+1) * 2; | |
| else bottom = pos; | |
| - | /* If we can't, it's smaller. */ |
| + | // If we can't, it's smaller. |
| } else { | |
| if (bottom == top) { | |
| @@ -373,8 +370,8 @@ off_t fdlength(int fd) | |
| #endif | |
| #ifdef L_xasprintf | |
| - | /* Die with an error message if we can't malloc() enough space and do an |
| - | * sprintf() into that space. */ |
| + | // Die with an error message if we can't malloc() enough space and do an |
| + | // sprintf() into that space. |
| char *xasprintf(const char *format, ...) | |
| { | |
| va_list p; | |
| @@ -403,8 +400,8 @@ char *xasprintf(const char *format, ...) | |
| #endif | |
| #ifdef L_xprint_and_close_file | |
| - | /* Die with an error message if we can't copy an entire FILE * to stdout, then |
| - | * close that file. */ |
| + | // Die with an error message if we can't copy an entire FILE * to stdout, then |
| + | // close that file. |
| void xprint_and_close_file(FILE *file) | |
| { | |
| // copyfd outputs error messages for us. | |
| @@ -416,7 +413,7 @@ void xprint_and_close_file(FILE *file) | |
| #endif | |
| #ifdef L_xchdir | |
| - | /* Die if we can't chdir to a new path. */ |
| + | // Die if we can't chdir to a new path. |
| void xchdir(const char *path) | |
| { | |
| if (chdir(path)) | |
| @@ -425,7 +422,7 @@ void xchdir(const char *path) | |
| #endif | |
| #ifdef L_warn_opendir | |
| - | /* Print a warning message if opendir() fails, but don't die. */ |
| + | // Print a warning message if opendir() fails, but don't die. |
| DIR *warn_opendir(const char *path) | |
| { | |
| DIR *dp; | |
| @@ -439,7 +436,7 @@ DIR *warn_opendir(const char *path) | |
| #endif | |
| #ifdef L_xopendir | |
| - | /* Die with an error message if opendir() fails. */ |
| + | // Die with an error message if opendir() fails. |
| DIR *xopendir(const char *path) | |
| { | |
| DIR *dp; | |
| @@ -452,7 +449,7 @@ DIR *xopendir(const char *path) | |
| #ifdef L_xdaemon | |
| #ifndef BB_NOMMU | |
| - | /* Die with an error message if we can't daemonize. */ |
| + | // Die with an error message if we can't daemonize. |
| void xdaemon(int nochdir, int noclose) | |
| { | |
| if (daemon(nochdir, noclose)) bb_perror_msg_and_die("daemon"); | |
| @@ -461,7 +458,7 @@ void xdaemon(int nochdir, int noclose) | |
| #endif | |
| #ifdef L_xsocket | |
| - | /* Die with an error message if we can't open a new socket. */ |
| + | // Die with an error message if we can't open a new socket. |
| int xsocket(int domain, int type, int protocol) | |
| { | |
| int r = socket(domain, type, protocol); | |
| @@ -473,7 +470,7 @@ int xsocket(int domain, int type, int protocol) | |
| #endif | |
| #ifdef L_xbind | |
| - | /* Die with an error message if we can't bind a socket to an address. */ |
| + | // Die with an error message if we can't bind a socket to an address. |
| void xbind(int sockfd, struct sockaddr *my_addr, socklen_t addrlen) | |
| { | |
| if (bind(sockfd, my_addr, addrlen)) bb_perror_msg_and_die("bind"); | |
| @@ -481,7 +478,7 @@ void xbind(int sockfd, struct sockaddr *my_addr, socklen_t addrlen) | |
| #endif | |
| #ifdef L_xlisten | |
| - | /* Die with an error message if we can't listen for connections on a socket. */ |
| + | // Die with an error message if we can't listen for connections on a socket. |
| void xlisten(int s, int backlog) | |
| { | |
| if (listen(s, backlog)) bb_perror_msg_and_die("listen"); | |
| @@ -489,7 +486,7 @@ void xlisten(int s, int backlog) | |
| #endif | |
| #ifdef L_xstat | |
| - | /* xstat() - a stat() which dies on failure with meaningful error message */ |
| + | // xstat() - a stat() which dies on failure with meaningful error message |
| void xstat(char *name, struct stat *stat_buf) | |
| { | |
| if (stat(name, stat_buf)) | |