void dealloc_bunzip(bunzip_data *bd)
{
- free(bd->dbuf);
- free(bd);
+ free(bd->dbuf);
+ free(bd);
}
ospeed = ispeed = cfgetispeed(mode);
if (ispeed == 0 || ispeed == (ospeed = cfgetospeed(mode))) {
ispeed = ospeed; /* in case ispeed was 0 */
- //0123 4 5 6 7 8 9
+ //0123 4 5 6 7 8 9
fmt_str = "%lu\n\0\0\0\0\0speed %lu baud;";
}
if (fancy) fmt_str += 9;
----end example code------
-Add <function_name>.o in the right alphabetically sorted place
-in libbb/Kbuild. You should look at the conditional part of
+Add <function_name>.o in the right alphabetically sorted place
+in libbb/Kbuild. You should look at the conditional part of
libbb/Kbuild aswell.
-You should also try to find a suitable place in include/libbb.h for
+You should also try to find a suitable place in include/libbb.h for
the function declaration. If not, add it somewhere anyway, with or without
ifdefs to include or not.
-You can look at libbb/Config.in and try to find out if the function is
+You can look at libbb/Config.in and try to find out if the function is
tuneable and add it there if it is.
Then create a diff by adding the new files with svn (remember your libbb files)
svn add <where you put it>/mu.c
-eventually also:
+eventually also:
svn add libbb/function.c
then
- svn diff
+ svn diff
and send it to the mailing list:
busybox@busybox.net
http://busybox.net/mailman/listinfo/busybox
Applet will be subject to NOFORK/NOEXEC tricks if it is marked as such
in applets.h. CONFIG_FEATURE_PREFER_APPLETS is a config option which
-globally enables usage of NOFORK/NOEXEC tricks.
+globally enables usage of NOFORK/NOEXEC tricks.
If you want to call a program and wait for it, use spawn_and_wait(argv).
It will check whether argv[0] is an applet name and will optionally
int status = EXIT_SUCCESS;
if (sizeof(struct globals) > sizeof(bb_common_bufsiz1))
- BUG_sed_globals_too_big();
+ BUG_sed_globals_too_big();
G.sed_cmd_tail = &G.sed_cmd_head;
void llist_unlink(llist_t **head, llist_t *elm);
void llist_free(llist_t *elm, void (*freeit)(void *data));
llist_t *llist_rev(llist_t *list);
-/* BTW, surprisingly, changing API to
+/* BTW, surprisingly, changing API to
* llist_t *llist_add_to(llist_t *old_head, void *data)
* etc does not result in smaller code... */
"Deallocate unused virtual terminal /dev/ttyN"
#define delgroup_trivial_usage \
- USE_FEATURE_DEL_USER_FROM_GROUP("[USER] ")"GROUP"
+ USE_FEATURE_DEL_USER_FROM_GROUP("[USER] ")"GROUP"
#define delgroup_full_usage \
"Delete group GROUP from the system" \
- USE_FEATURE_DEL_USER_FROM_GROUP(" or user USER from group GROUP")
+ USE_FEATURE_DEL_USER_FROM_GROUP(" or user USER from group GROUP")
#define deluser_trivial_usage \
"USER"
) USE_FEATURE_FIND_EXEC( \
"\n -exec CMD Execute CMD with all instances of {} replaced by the" \
"\n files matching EXPRESSION" \
- ) USE_FEATURE_FIND_USER( \
+ ) USE_FEATURE_FIND_USER( \
"\n -user NAME File is owned by user NAME (numeric user ID allowed)" \
) USE_FEATURE_FIND_GROUP( \
"\n -group NAME File belongs to group NAME (numeric group ID allowed)" \
"\n -size N File size is N" \
) USE_FEATURE_FIND_PRUNE( \
"\n -prune Stop traversing current subtree" \
- ) USE_FEATURE_FIND_DELETE( \
+ ) USE_FEATURE_FIND_DELETE( \
"\n -delete Delete files; Turns on -depth option" \
- ) USE_FEATURE_FIND_PATH( \
+ ) USE_FEATURE_FIND_PATH( \
"\n -path Path matches PATTERN" \
) USE_FEATURE_FIND_PAREN( \
"\n (EXPR) Group an expression" \
for (i = 0; i < cclen; ++i) {
if (!cc[i].ip) {
freepos = i;
- continue;
+ continue;
}
if (strcmp(cc[i].ip, ip) == 0) {
conn++;
*/
struct hcc {
- char *ip;
- int pid;
+ char *ip;
+ int pid;
};
void ipsvd_perhost_init(unsigned);
if (!mt)
return -1;
-
+
if (!fstype)
return 0;
/* ANY local address */
return sendto(fd, buf, len, flags, to, tolen);
}
-
+
/* man recvmsg and man cmsg is needed to make sense of code below */
iov[0].iov_base = buf;
default n
depends on DELGROUP
help
- If called with two non-option arguments, deluser
+ If called with two non-option arguments, deluser
or delgroup will remove an user from a specified group.
config ADDUSER
goto error;
}
- /* Check if the desired gid is free or
+ /* Check if the desired gid is free or
find the first free one */
do {
if (g->gr_gid == max) { /* out of bounds: exit */
#if ENABLE_FEATURE_ADDUSER_TO_GROUP
if (argc == 2) {
struct group *gr;
-
+
/* check if group and user exist */
xuname2uid(argv[0]); /* unknown user: exit */
xgroup2gid(argv[1]); /* unknown group: exit */
/* vi: set sw=4 ts=4: */
/*
* cryptpw.c
- *
+ *
* Cooked from passwd.c by Thomas Lundquist <thomasez@zelow.no>
*/
int deluser_main(int argc, char **argv);
int deluser_main(int argc, char **argv)
{
- if (argc == 2
- || (ENABLE_FEATURE_DEL_USER_FROM_GROUP
+ if (argc == 2
+ || (ENABLE_FEATURE_DEL_USER_FROM_GROUP
&& (applet_name[3] == 'g' && argc == 3))
) {
if (geteuid())
bb_error_msg_and_die(bb_msg_perm_denied_are_you_root);
-
- if ((ENABLE_FEATURE_DEL_USER_FROM_GROUP && argc != 3)
+
+ if ((ENABLE_FEATURE_DEL_USER_FROM_GROUP && argc != 3)
|| ENABLE_DELUSER
|| (ENABLE_DELGROUP && ENABLE_DESKTOP)
) {
#define LENGTH_FW_REV 4 /* 4 words (8 bytes or characters) */
#define START_MODEL 27 /* ASCII model number */
#define LENGTH_MODEL 20 /* 20 words (40 bytes or characters) */
-#define SECTOR_XFER_MAX 47 /* r/w multiple: max sectors xfered */
+#define SECTOR_XFER_MAX 47 /* r/w multiple: max sectors xfered */
#define DWORD_IO 48 /* can do double-word IO (ATA-1 only) */
#define CAPAB_0 49 /* capabilities */
#define CAPAB_1 50
#define WHATS_VALID 53 /* what fields are valid */
#define LCYLS_CUR 54 /* current logical cylinders */
#define LHEADS_CUR 55 /* current logical heads */
-#define LSECTS_CUR 56 /* current logical sectors/track */
+#define LSECTS_CUR 56 /* current logical sectors/track */
#define CAPACITY_LSB 57 /* current capacity in sectors */
#define CAPACITY_MSB 58
#define SECTOR_XFER_CUR 59 /* r/w multiple: current sectors xfered */
ifd, exec);
#else
return 0; /* no dhcp support */
-#endif
+#endif
}
static int dhcp_down(struct interface_defn_t *ifd, execfn *exec)
close(rr);
goto again;
}
-
+
} else
bb_error_msg_and_die("timeout");
unarm();
}
proggie = NULL;
e_found:
-
+
// -g -G -t -r deleted, unimplemented -a deleted too
opt_complementary = "?2:vv"; /* max 2 params, -v is a counter */
getopt32(argc, argv, "hnp:s:uvw:" USE_NC_SERVER("l")
{
char addr6[INET6_ADDRSTRLEN];
struct in6_addr in6;
-
+
sscanf(local_addr, "%08X%08X%08X%08X",
&in6.s6_addr32[0], &in6.s6_addr32[1],
&in6.s6_addr32[2], &in6.s6_addr32[3]);
inet_ntop(AF_INET6, &in6, addr6, sizeof(addr6));
inet_pton(AF_INET6, addr6, (struct sockaddr *) &localaddr->sin6_addr);
-
+
localaddr->sin6_family = AF_INET6;
}
#endif
0xffffffff);
}
port_name = get_sname(htons(port), proto, numeric);
-
+
max_len = (option_mask32 & OPT_widedisplay)
? (PRINT_IP_MAX_SIZE_WIDE - 1)
: (PRINT_IP_MAX_SIZE - 1);
(struct sockaddr *) &remaddr, rem_port,
"udp", flags & NETSTAT_NUMERIC);
printf(net_conn_line,
- "udp", rxq, txq, local_addr, rem_addr, state_str);
+ "udp", rxq, txq, local_addr, rem_addr, state_str);
}
}
}
/* Server lost our TFTP_ACK. Resend it */
block_nr = recv_blk;
continue;
- }
+ }
}
if (CMD_PUT(cmd) && (opcode == TFTP_ACK)) {
//Huh, dhcpd don't have --foreground, --syslog options?? TODO
if (!ENABLE_FEATURE_UDHCP_DEBUG) {
- bb_daemonize_or_rexec(DAEMON_CHDIR_ROOT, argv);
- logmode &= ~LOGMODE_STDIO;
+ bb_daemonize_or_rexec(DAEMON_CHDIR_ROOT, argv);
+ logmode &= ~LOGMODE_STDIO;
}
if (ENABLE_FEATURE_UDHCP_SYSLOG) {
void add_new_symbol(struct symfile *sym, char * symname)
{
sym->symbollist =
- realloc(sym->symbollist, (sym->symbolcnt + 1) * sizeof(char *));
+ realloc(sym->symbollist, (sym->symbolcnt + 1) * sizeof(char *));
sym->symbollist[sym->symbolcnt++].name = strdup(symname);
}
char *p;
char *e;
if (((p = strstr(line, "EXPORT_SYMBOL_GPL")) != 0) ||
- ((p = strstr(line, "EXPORT_SYMBOL")) != 0)) {
+ ((p = strstr(line, "EXPORT_SYMBOL")) != 0)) {
/* Skip EXPORT_SYMBOL{_GPL} */
while (isalnum(*p) || *p == '_')
p++;
void singfunc(char * filename, char * line)
{
char *vec[200]; /* Enough for specific functions */
- int i, idx = 0;
- int startofsym = 1;
+ int i, idx = 0;
+ int startofsym = 1;
vec[idx++] = KERNELDOC;
vec[idx++] = DOCBOOK;
- /* Split line up in individual parameters preceeded by FUNCTION */
- for (i=0; line[i]; i++) {
- if (isspace(line[i])) {
- line[i] = '\0';
- startofsym = 1;
- continue;
- }
- if (startofsym) {
- startofsym = 0;
- vec[idx++] = FUNCTION;
- vec[idx++] = &line[i];
- }
- }
+ /* Split line up in individual parameters preceeded by FUNCTION */
+ for (i=0; line[i]; i++) {
+ if (isspace(line[i])) {
+ line[i] = '\0';
+ startofsym = 1;
+ continue;
+ }
+ if (startofsym) {
+ startofsym = 0;
+ vec[idx++] = FUNCTION;
+ vec[idx++] = &line[i];
+ }
+ }
vec[idx++] = filename;
vec[idx] = NULL;
exec_kernel_doc(vec);
break;
case 'D':
while (*s && !isspace(*s)) s++;
- *s = '\0';
- symbolsonly(line+2);
- break;
+ *s = '\0';
+ symbolsonly(line+2);
+ break;
case 'F':
/* filename */
while (*s && !isspace(*s)) s++;
*s++ = '\0';
- /* function names */
+ /* function names */
while (isspace(*s))
s++;
singlefunctions(line +2, s);
}
/* Open file, exit on error */
infile = fopen(argv[2], "r");
- if (infile == NULL) {
- fprintf(stderr, "docproc: ");
- perror(argv[2]);
- exit(2);
- }
+ if (infile == NULL) {
+ fprintf(stderr, "docproc: ");
+ perror(argv[2]);
+ exit(2);
+ }
if (strcmp("doc", argv[1]) == 0)
{
exit(0);
}
}
- name = av[i];
+ name = av[i];
if (!name) {
printf(_("%s: Kconfig file missing\n"), av[0]);
}
default:
;
}
- return false;
+ return false;
}
struct expr *expr_extract_eq_and(struct expr **ep1, struct expr **ep2)
&& (tree == tree2))
continue;
/*
- if (((menu != &rootmenu) && !(menu->flags & MENU_ROOT))
+ if (((menu != &rootmenu) && !(menu->flags & MENU_ROOT))
|| (view_mode == FULL_VIEW)
|| (view_mode == SPLIT_VIEW))*/
if (((view_mode == SINGLE_VIEW) && (menu->flags & MENU_ROOT))
#define P(name,type,arg) \
{ \
name ## _p = dlsym(handle, #name); \
- if ((error = dlerror())) { \
- fprintf(stderr, "%s\n", error); \
+ if ((error = dlerror())) { \
+ fprintf(stderr, "%s\n", error); \
exit(1); \
} \
}
#define shell_ver (G.shell_ver )
#if ENABLE_FEATURE_SH_STANDALONE
#define nofork_save (G.nofork_save )
-#endif
+#endif
#if ENABLE_HUSH_JOB
#define toplevel_jb (G.toplevel_jb )
#endif
return -1;
}
-#ifndef debug_print_tree
+#ifndef debug_print_tree
static void debug_print_tree(struct pipe *pi, int lvl)
{
static const char *PIPE[] = {
if (argv) while (*argv) {
fprintf(stderr, " '%s'", *argv);
argv++;
- }
+ }
fprintf(stderr, "\n");
prn++;
}
* try "{ { sleep 10; echo DEEP; } & echo HERE; } &".
* I'm NOT treating inner &'s as jobs */
#if ENABLE_HUSH_JOB
- if (run_list_level == 1)
+ if (run_list_level == 1)
insert_bg_job(pi);
#endif
rcode = EXIT_SUCCESS;
for (i = 1000000000; i; i /= 10) {
res = n / i;
if (res || out || i == 1) {
- if (!--buflen) break;
- out++;
- n -= res*i;
- *buf++ = '0' + res;
+ if (!--buflen) break;
+ out++;
+ n -= res*i;
+ *buf++ = '0' + res;
}
}
}
char *name = NULL;
unsigned opt;
const char *compatible;
- char *s_arg;
+ char *s_arg;
#if ENABLE_GETOPT_LONG
struct option *long_options = NULL;
llist_t *l_arg = NULL;