* known difference between busybox dpkg and the official dpkg that i don't
* consider important, its worth keeping a note of differences anyway, just to
* make it easier to maintain.
- * - the first value for the confflile: field isnt placed on a new line.
+ * - the first value for the confflile: field isn't placed on a new line.
* - when installing a package the status: field is placed at the end of the
* section, rather than just after the package: field.
*
edge_t **edge;
} common_node_t;
-/* Currently it doesnt store packages that have state-status of not-installed
+/* Currently it doesn't store packages that have state-status of not-installed
* So it only really has to be the size of the maximum number of packages
* likely to be installed at any one time, so there is a bit of leeway here */
#define STATUS_HASH_PRIME 8191
return probe_address;
}
-/* this DOESNT add the key to the hashtable
+/* this DOESN'T add the key to the hashtable
* TODO make it consistent with search_name_hashtable
*/
static unsigned search_status_hashtable(const char *key)
version = strchr(field2, '(');
if (version == NULL) {
edge->operator = VER_ANY;
- /* Get the versions hash number, adding it if the number isnt already in there */
+ /* Get the versions hash number, adding it if the number isn't already in there */
edge->version = search_name_hashtable("ANY");
} else {
/* Skip leading ' ' or '(' */
/* Truncate version at trailing ' ' or ')' */
version[strcspn(version, " )")] = '\0';
- /* Get the versions hash number, adding it if the number isnt already in there */
+ /* Get the versions hash number, adding it if the number isn't already in there */
edge->version = search_name_hashtable(version);
}
offset_name_end = offset;
offset_value_start = next_offset;
}
- /* TODO: Name might still have trailing spaces if ':' isnt
+ /* TODO: Name might still have trailing spaces if ':' isn't
* immediately after name */
break;
case '\n':
const unsigned package_num = fill_package_struct(control_buffer);
if (package_num != -1) {
status_node = xmalloc(sizeof(status_node_t));
- /* fill_package_struct doesnt handle the status field */
+ /* fill_package_struct doesn't handle the status field */
status_line = strstr(control_buffer, "Status:");
if (status_line != NULL) {
status_line += 7;
if (status_hashtable[status_num] != NULL) {
const char *status_from_hashtable = name_hashtable[status_hashtable[status_num]->status];
if (strcmp(status_from_file, status_from_hashtable) != 0) {
- /* New status isnt exactly the same as old status */
+ /* New status isn't exactly the same as old status */
const int state_status = get_status(status_num, 3);
if ((strcmp("installed", name_hashtable[state_status]) == 0)
|| (strcmp("unpacked", name_hashtable[state_status]) == 0)
}
}
}
- /* If the package from the status file wasnt handle above, do it now*/
+ /* If the package from the status file wasn't handle above, do it now*/
if (!write_flag) {
fprintf(new_status_file, "%s\n\n", control_buffer);
}
if (errno != ENOENT)
bb_error_msg_and_die("can't create backup status file");
/* Its ok if renaming the status file fails because status
- * file doesnt exist, maybe we are starting from scratch */
+ * file doesn't exist, maybe we are starting from scratch */
bb_error_msg("no status file found, creating new one");
}
}
- /* Check dependendcies */
+ /* Check dependentcies */
for (i = 0; i < PACKAGE_HASH_PRIME; i++) {
int status_num = 0;
int number_of_alternatives = 0;
script_path = xasprintf("/var/lib/dpkg/info/%s.%s", package_name, script_type);
- /* If the file doesnt exist is isnt fatal */
+ /* If the file doesn't exist it isn't fatal */
result = access(script_path, F_OK) ? EXIT_SUCCESS : system(script_path);
free(script_path);
if (result)
) {
status_node = xmalloc(sizeof(status_node_t));
status_node->package = deb_file[deb_count]->package;
- /* reinstreq isnt changed to "ok" until the package control info
+ /* reinstreq isn't changed to "ok" until the package control info
* is written to the status file*/
status_node->status = search_name_hashtable("install reinstreq not-installed");
status_hashtable[status_num] = status_node;
base = hufGroup->base - 1;
limit = hufGroup->limit - 1;
- /* Calculate permute[]. Concurently, initialize temp[] and limit[]. */
+ /* Calculate permute[]. Concurrently, initialize temp[] and limit[]. */
pp = 0;
for (i = minLen; i <= maxLen; i++) {
int k;
}
/*
- * Decode one bit. In some versions, this function has been splitted in three
+ * Decode one bit. In some versions, this function has been split in three
* functions so that the compiler is supposed to be able to more easily avoid
* an extra branch. In this particular version of the LZMA decoder, this
* doesn't seem to be a good idea (tested with GCC 3.3.6, 3.4.6, and 4.3.3
- * on x86). Using a non-splitted version results in nicer looking code too.
+ * on x86). Using a non-split version results in nicer looking code too.
*
* NOTE: This must return an int. Do not make it return a bool or the speed
* of the code generated by GCC 3.x decreases 10-15 %. (GCC 4.3 doesn't care,
/*
* Check to see if we are dealing with a hard link.
* If so -
- * Treat the first occurance of a given dev/inode as a file while
- * treating any additional occurances as hard links. This is done
+ * Treat the first occurrence of a given dev/inode as a file while
+ * treating any additional occurrences as hard links. This is done
* by adding the file information to the HardLinkInfo linked list.
*/
tbInfo->hlInfo = NULL;
/*
* dos2unix for BusyBox
*
- * dos2unix '\n' convertor 0.5.0
+ * dos2unix '\n' converter 0.5.0
* based on Unix2Dos 0.9.0 by Peter Hanecak (made 19.2.1997)
* Copyright 1997,.. by Peter Hanecak <hanecak@megaloman.sk>.
* All rights reserved.
</td></tr><tr><th valign=top align=left>Required knowledge: </th>
<td valign=top align=left>You have to know what it means to catch SIGINT or SIGQUIT and how
-processes are waiting for other processes (childs) they spawned.
+processes are waiting for other processes (children) they spawned.
</td></tr></table>
itself.
<p>Some programs don't do this. On SIGINT, they do cleanup and exit
-immediatly, but the calling shell isn't told about the non-normal exit
+immediately, but the calling shell isn't told about the non-normal exit
and it will call the next program in the script.
<p>As a result, the user hits SIGINT and while one program exits, the
<code>trap</code> command. Here, the same as for C programs apply. If
the intention of SIGINT is to end your program, you have to exit in a
way that the calling programs "sees" that you have been killed. If
-you don't catch SIGINT, this happend automatically, but of you catch
+you don't catch SIGINT, this happened automatically, but of you catch
SIGINT, i.e. to do cleanup work, you have to end the program by
killing yourself, not by calling exit.
bourne shell. Every language implementation that lets you catch SIGINT
should also give you the option to reset the signal and kill yourself.
-<P>It is always desireable to exit the right way, even if you don't
+<P>It is always desirable to exit the right way, even if you don't
expect your usual callers to depend on it, some unusual one will come
along. This proper exit status will be needed for WCE and will not
hurt when the calling shell uses IUE or WUE.
<th>What happens when a shellscript called emacs, the user did not use
<code>C-c</code> and the script has additional commands in it?</th>
<th>What happens if a non-interactive child catches SIGINT?</th>
-<th>To behave properly, childs must do what?</th>
+<th>To behave properly, children must do what?</th>
</tr>
<tr valign=top align=left>
a real storage in rodata for it! (Hopefully, newer gcc will get better
at it...). With "define", you have slight risk of polluting namespace
(#define doesn't allow you to redefine the name in the inner scopes),
-and complex "define" are evaluated each time they uesd, not once
+and complex "define" are evaluated each time they used, not once
at declarations like enums. Also, the preprocessor does _no_ type checking
whatsoever, making it much more error prone.
if (isdigit(*my_str)) {
*linenum = strtol(my_str, (char**)&pos, 10);
- /* endstr shouldnt ever equal NULL */
+ /* endstr shouldn't ever equal NULL */
} else if (*my_str == '$') {
*linenum = -1;
pos++;
free(fname);
break;
}
- /* Ignore case (gnu exension) */
+ /* Ignore case (gnu extension) */
case 'i':
case 'I':
cflags |= REG_ICASE;
free(match);
free(replace);
}
- /* if it wasnt a single-letter command that takes no arguments
+ /* if it wasn't a single-letter command that takes no arguments
* then it must be an invalid command.
*/
else if (idx >= IDX_nul) { /* not d,D,g,G,h,H,l,n,N,p,P,q,x,=,{,} */
continue;
}
/* I _think_ it is impossible to get '\' to be
- * the last char in replace string. Thus we dont check
+ * the last char in replace string. Thus we don't check
* for replace[i] == NUL. (counterexample anyone?) */
/* if we find a backslash escaped character, print the character */
pipe_putc(replace[i]);
# ntpsrv=10.34.32.125 10.34.255.7
#
# renew: lease is renewed. Environment is similar to "bound".
-# The IP address does not change, however, the other DHCP paramaters,
+# The IP address does not change, however, the other DHCP parameters,
# such as the default gateway, subnet mask, and dns server may change.
#
# nak: udhcpc received a NAK message.
//config: default y
//config: depends on FIND
//config: help
-//config: If the file is a directory, dont descend into it. Useful for
+//config: If the file is a directory, don't descend into it. Useful for
//config: exclusion .svn and CVS directories.
//config:
//config:config FEATURE_FIND_DELETE
if (option_mask32 & OPT_o) {
if (FGREP_FLAG) {
/* -Fo just prints the pattern
- * (unless -v: -Fov doesnt print anything at all) */
+ * (unless -v: -Fov doesn't print anything at all) */
if (found)
print_line(gl->pattern, strlen(gl->pattern), linenum, ':');
} else while (1) {
grep_done: ;
} while (*argv && *++argv);
- /* destroy all the elments in the pattern list */
+ /* destroy all the elements in the pattern list */
if (ENABLE_FEATURE_CLEAN_UP) {
while (pattern_head) {
llist_t *pattern_head_ptr = pattern_head;
"abc" If groups of two or more chars are specified, the first char
is the main option and the other chars are secondary options.
Their flags will be turned on if the main option is found even
- if they are not specifed on the command line. For example:
+ if they are not specified on the command line. For example:
opt_complementary = "abc";
flags = getopt32(argv, "abcd")
* exit using the atexit function to make valgrind happy.
* 2) the passwd/group files:
* a) must contain the expected number of fields (as per count of field
- * delimeters ":") or we will complain with a error message.
+ * delimiters ":") or we will complain with a error message.
* b) leading and trailing whitespace in fields is stripped.
* c) some fields are not allowed to be empty (e.g. username, uid/gid),
* and in this case NULL is returned and errno is set to EINVAL.
/* Internal functions */
/* Divide the passwd/group/shadow record in fields
- * by substituting the given delimeter
+ * by substituting the given delimiter
* e.g. ':' or ',' with '\0'.
* Returns the number of fields found.
* Strips leading and trailing whitespace in fields.
$1$.
-R, --rounds=NUMBER
Use NUMBER rounds. This argument is ignored if the method
- choosen does not support variable rounds. For the OpenBSD Blowfish
+ chosen does not support variable rounds. For the OpenBSD Blowfish
method this is the logarithm of the number of rounds.
-m, --method=TYPE
Compute the password using the TYPE method. If TYPE is 'help'
* Use as follows:
* # inotifyd /user/space/agent dir/or/file/being/watched[:mask] ...
*
- * When a filesystem event matching the specified mask is occured on specified file (or directory)
+ * When a filesystem event matching the specified mask is occurred on specified file (or directory)
* a userspace agent is spawned and given the following parameters:
* $1. actual event(s)
* $2. file (or directory) name
/* flines[] are lines read from stdin, each in malloc'ed buffer.
* Line numbers are stored as uint32_t prepended to each line.
* Pointer is adjusted so that flines[i] points directly past
- * line number. Accesor: */
+ * line number. Accessor: */
#define MEMPTR(p) ((char*)(p) - 4)
#define LINENO(p) (*(uint32_t*)((p) - 4))
}
/* Have signals kill the child but not self (if possible). */
-//TODO: just block all sigs? and reenable them in the very end in main?
+//TODO: just block all sigs? and re-enable them in the very end in main?
interrupt_signal = signal(SIGINT, SIG_IGN);
quit_signal = signal(SIGQUIT, SIG_IGN);
depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE)
help
By adding module symbols to the kernel symbol table, Oops messages
- occuring within kernel modules can be properly debugged. By enabling
+ occurring within kernel modules can be properly debugged. By enabling
this feature, module symbols will always be added to the kernel symbol
table for proper debugging support. If you are not interested in
Oops messages from kernel modules, say N.
char *after_pattern;
ptr = memchr(ptr, *pattern, len - (ptr - (char*)the_module));
- if (ptr == NULL) /* no occurance left, done */
+ if (ptr == NULL) /* no occurrence left, done */
break;
after_pattern = is_prefixed_with(ptr, pattern);
if (after_pattern && *after_pattern == '=') {
/* search for the first char in word */
ptr = memchr(ptr, word[0], len);
- if (ptr == NULL) /* no occurance left, done */
+ if (ptr == NULL) /* no occurrence left, done */
break;
after_word = is_prefixed_with(ptr, word);
if (after_word)
if (load_module(pathname, module_load_options) == 0) {
/* Load was successful, there is nothing else to do.
* This can happen ONLY for "top-level" module load,
- * not a dep, because deps dont do dirscan. */
+ * not a dep, because deps don't do dirscan. */
exit(EXIT_SUCCESS);
}
}
In order to reduce the size of messages, domain names coan be compressed.
An entire domain name or a list of labels at the end of a domain name
-is replaced with a pointer to a prior occurance of the same name.
+is replaced with a pointer to a prior occurrence of the same name.
The pointer takes the form of a two octet sequence:
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
*
* - 2003/03/18 - Tsippy Mendelson <tsippy.mendelson at intel dot com> and
* Shmulik Hen <shmulik.hen at intel dot com>
- * - Moved setting the slave's mac address and openning it, from
+ * - Moved setting the slave's mac address and opening it, from
* the application to the driver. This enables support of modes
* that need to use the unique mac address of each slave.
* The driver also takes care of closing the slave and restoring its
DPRINTF("new_peer(%d)", newfd);
n = state->new_peer(state, newfd);
if (n)
- remove_peer(state, n); /* unsuccesful peer start */
+ remove_peer(state, n); /* unsuccessful peer start */
}
static void handle_fd_set(isrv_state_t *state, fd_set *fds, int (*h)(int, void **))
so I don't feel bad.
The *real* question is why BFD sockets wasn't designed to allow listens for
connections *from* specific hosts/ports, instead of requiring the caller to
- accept the connection and then reject undesireable ones by closing.
+ accept the connection and then reject undesirable ones by closing.
In other words, we need a TCP MSG_PEEK. */
/* bbox: removed most of it */
lcladdr = xmalloc_sockaddr2dotted(&ouraddr->u.sa);
/* use the tcp-ping trick: try connecting to a normally refused port, which
causes us to block for the time that SYN gets there and RST gets back.
Not completely reliable, but it *does* mostly work. */
- /* Set a temporary connect timeout, so packet filtration doesnt cause
+ /* Set a temporary connect timeout, so packet filtration doesn't cause
us to hang forever, and hit it */
o_wait = 5; /* enough that we'll notice?? */
rr = xsocket(ouraddr->u.sa.sa_family, SOCK_STREAM, 0);
* too big and we will step. I observed it with -6.
*
* OTOH, setting precision_sec far too small would result in futile
- * attempts to syncronize to an unachievable precision.
+ * attempts to synchronize to an unachievable precision.
*
* -6 is 1/64 sec, -7 is 1/128 sec and so on.
* -8 is 1/256 ~= 0.003906 (worked well for me --vda)
bool small_ofs = fabs(offset) < STEP_THRESHOLD;
/* Used to set p->filter_datapoint[i].d_dispersion = MAXDISP
- * and clear reachable bits, but this proved to be too agressive:
+ * and clear reachable bits, but this proved to be too aggressive:
* after step (tested with suspending laptop for ~30 secs),
* this caused all previous data to be considered invalid,
* making us needing to collect full ~8 datapoints per peer
* It looks like Linux kernel's PLL is far too gentle in changing
* tmx.freq in response to clock offset. Offset keeps growing
* and eventually we fall back to smaller poll intervals.
- * We can make correction more agressive (about x2) by supplying
+ * We can make correction more aggressive (about x2) by supplying
* PLL time constant which is one less than the real one.
* To be on a safe side, let's do it only if offset is significantly
* larger than jitter.
} else { /* -c NN, and all NN are sent (and no deadline) */
/* Wait for the last ping to come back.
* -W timeout: wait for a response in seconds.
- * Affects only timeout in absense of any responses,
+ * Affects only timeout in absence of any responses,
* otherwise ping waits for two RTTs. */
unsigned expire = timeout;
if (opt_ttl != 0) {
setsockopt_int(pingsock, IPPROTO_IP, IP_TTL, opt_ttl);
- /* above doesnt affect packets sent to bcast IP, so... */
+ /* above doesn't affect packets sent to bcast IP, so... */
setsockopt_int(pingsock, IPPROTO_IP, IP_MULTICAST_TTL, opt_ttl);
}
-E
no special environment. Do not set up TCP-related environment variables.
-v
- verbose. Print verbose messsages to standard output.
+ verbose. Print verbose messages to standard output.
-vv
more verbose. Print more verbose messages to standard output.
* no difference between -v and -vv in busyboxed version
already_waited_sec += (unsigned)monotonic_sec() - timestamp_before_wait;
continue;
}
- /* Else: an error occured, panic! */
+ /* Else: an error occurred, panic! */
bb_perror_msg_and_die("select");
}
}
// which the reply must be sent (i.e., the host or router interface
// connected to the same network as the BOOTP client). If the content
// of the 'giaddr' field does not match one of the relay agent's
-// directly-connected logical interfaces, the BOOTREPLY messsage MUST be
+// directly-connected logical interfaces, the BOOTREPLY message MUST be
// silently discarded.
if (udhcp_read_interface(iface_list[i], NULL, &dhcp_msg.gateway_nip, NULL)) {
/* Fall back to our IP on server iface */
/* I suppose one could try to combine some of the function calls below,
* since ifr.u.flag, ifr.u.VID, and ifr.u.skb_priority are all same-sized
* (unsigned) int members of a unions. But because of the range checking,
- * doing so wouldn't save that much space and would also make maintainence
+ * doing so wouldn't save that much space and would also make maintenance
* more of a pain.
*/
if (ifr.cmd == SET_VLAN_FLAG_CMD) {
}
/* fd is a tty at this point */
fd = fcntl(fd, F_DUPFD, 10);
- if (ofd >= 0) /* if it is "/dev/tty", close. If 0/1/2, dont */
+ if (ofd >= 0) /* if it is "/dev/tty", close. If 0/1/2, don't */
close(ofd);
if (fd < 0)
goto out; /* F_DUPFD failed */
* $@ like $* since no splitting will be performed.
*
* var_str_list (can be NULL) is a list of "VAR=val" strings which take precedence
- * over shell varables. Needed for "A=a B=$A; echo $B" case - we use it
+ * over shell variables. Needed for "A=a B=$A; echo $B" case - we use it
* for correct expansion of "B=$A" word.
*/
static void
if (try2optimize) {
/* Maybe we can optimize this:
* if pattern ends with unescaped *, we can avoid checking
- * shorter strings: if "foo*" doesnt match "raw_value_of_v",
- * it wont match truncated "raw_value_of_" strings too.
+ * shorter strings: if "foo*" doesn't match "raw_value_of_v",
+ * it won't match truncated "raw_value_of_" strings too.
*/
unsigned plen = strlen(pattern);
/* Does it end with "*"? */
// Which means you need to unescape the string, right? Not so fast:
// if there _is_ a file named "file\?" (with backslash), it is returned
// as "file\?" too (whichever pattern you used to find it, say, "file*").
-// You DONT KNOW by looking at the result whether you need to unescape it.
+// You DON'T KNOW by looking at the result whether you need to unescape it.
//
// Worse, globbing of "file\?" in a directory with two files, "file?" and "file\?",
// returns "file\?" - which is WRONG: "file\?" pattern matches "file?" file.
}
flag_off = ~flag_off;
- /*if (opt_p_not_specified) - bash doesnt check this. Try "export -p NAME" */
+ /*if (opt_p_not_specified) - bash doesn't check this. Try "export -p NAME" */
{
aptr = argptr;
name = *aptr;
# Should print 1
echo ${#a}
-# A Japanese katakana charachter U+30a3
+# A Japanese katakana character U+30a3
a=`printf "\xe3\x82\xa3"`
# Should print 1
echo ${#a}
G.count_SIGCHLD++;
//bb_error_msg("[%d] check_and_run_traps: G.count_SIGCHLD:%d G.handled_SIGCHLD:%d", getpid(), G.count_SIGCHLD, G.handled_SIGCHLD);
/* Note:
- * We dont do 'last_sig = sig' here -> NOT returning this sig.
+ * We don't do 'last_sig = sig' here -> NOT returning this sig.
* This simplifies wait builtin a bit.
*/
break;
debug_printf_exec("%s: sig:%d default handling is to ignore\n", __func__, sig);
/* SIGTERM, SIGQUIT, SIGTTIN, SIGTTOU, SIGTSTP */
/* Note:
- * We dont do 'last_sig = sig' here -> NOT returning this sig.
+ * We don't do 'last_sig = sig' here -> NOT returning this sig.
* Example: wait is not interrupted by TERM
* in interactive shell, because TERM is ignored.
*/
* AT\
* H\
* \
- * It excercises a lot of corner cases.
+ * It exercises a lot of corner cases.
*/
static void cmdedit_update_prompt(void)
{
/* And now we want to add { or } and continue:
* o_addchr(o, c);
* continue;
- * luckily, just falling throught achieves this.
+ * luckily, just falling through achieves this.
*/
}
#endif
arg++;
/* Can't just stuff it into output o_string,
* expanded result may need to be globbed
- * and $IFS-splitted */
+ * and $IFS-split */
debug_printf_subst("SUBST '%s' first_ch %x\n", arg, first_ch);
G.last_exitcode = process_command_subs(&subst_result, arg);
debug_printf_subst("SUBST RES:%d '%s'\n", G.last_exitcode, subst_result.data);
/* There are still running processes in the fg_pipe */
return -1;
}
- /* It wasnt in fg_pipe, look for process in bg pipes */
+ /* It wasn't in fg_pipe, look for process in bg pipes */
}
#if ENABLE_HUSH_JOB
# Should print 1
echo ${#a}
-# A Japanese katakana charachter U+30a3
+# A Japanese katakana character U+30a3
a=`printf "\xe3\x82\xa3"`
# Should print 1
echo ${#a}
//config: default y
//config: depends on LOGREAD
//config: help
-//config: 'logread' ouput to slow serial terminals can have
+//config: 'logread' output to slow serial terminals can have
//config: side effects on syslog because of the semaphore.
//config: This option make logread to double buffer copy
//config: from circular buffer, minimizing semaphore
cur, shbuf_tail, shbuf_size);
if (!(follow & 1)) { /* not -f */
- /* if -F, "convert" it to -f, so that we dont
+ /* if -F, "convert" it to -f, so that we don't
* dump the entire buffer on each iteration
*/
follow >>= 1;
testing "readlink -f on a file" "readlink -f ./$TESTFILE" "$pwd/$TESTFILE\n" "" ""
testing "readlink -f on a link" "readlink -f ./$TESTLINK" "$pwd/$TESTFILE\n" "" ""
testing "readlink -f on an invalid link" "readlink -f ./$FAILLINK" "" "" ""
-testing "readlink -f on a wierd dir" "readlink -f $TESTDIR/../$TESTFILE" "$pwd/$TESTFILE\n" "" ""
+testing "readlink -f on a weird dir" "readlink -f $TESTDIR/../$TESTFILE" "$pwd/$TESTFILE\n" "" ""
# clean up
#include "libbb.h"
#include "unicode.h"
-/* We often use "unsigned" intead of "int", it's easier to div on most CPUs */
+/* We often use "unsigned" instead of "int", it's easier to div on most CPUs */
#define THURSDAY 4 /* for reformation */
#define SATURDAY 6 /* 1 Jan 1 was a Saturday */
* On x86, even though code does set hw clock within <1ms of exact
* whole seconds, apparently hw clock (at least on some machines)
* doesn't reset internal fractional seconds to 0,
- * making all this a pointless excercise.
+ * making all this a pointless exercise.
*/
/* If we see that we are N usec away from whole second,
* we'll sleep for N-ADJ usecs. ADJ corrects for the fact
retval = EXIT_FAILURE;
}
- /* No need to check for errors outputing to stderr since, if it
+ /* No need to check for errors outputting to stderr since, if it
* was used, the HAD_ERROR label was reached and retval was set. */
return retval;
script. (You can work around this with static linking or very carefully laid
out paths and sequencing, but it's brittle, ugly, and non-obvious.)
-2) The "find | rm" bit will acually delete everything because the mount points
+2) The "find | rm" bit will actually delete everything because the mount points
still show up (even if their contents don't), and rm -rf will then happily zap
that. So the first line is an oversimplification of what you need to do _not_
to descend into other filesystems and delete their contents.
if (type != 2) /* TAG_ID_AVDP */
goto found;
- /* get desriptor list address and block count */
+ /* get descriptor list address and block count */
count = le32_to_cpu(vd->type.anchor.length) / bs;
loc = le32_to_cpu(vd->type.anchor.location);
dbg("0x%x descriptors starting at logical secor 0x%x", count, loc);