Changeset b60c582 in mainline for kernel/genarch/src


Ignore:
Timestamp:
2009-04-03T08:02:30Z (16 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
2398ee9
Parents:
9be1d58
Message:

update for string changes

Location:
kernel/genarch/src
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • kernel/genarch/src/drivers/dsrln/dsrlnout.c

    r9be1d58 rb60c582  
    4141#include <console/console.h>
    4242#include <sysinfo/sysinfo.h>
     43#include <string.h>
    4344
    4445static ioport8_t *dsrlnout_base;
    4546
    46 static void dsrlnout_putchar(outdev_t *dev __attribute__((unused)), const char ch, bool silent)
     47static void dsrlnout_putchar(outdev_t *dev __attribute__((unused)), const wchar_t ch, bool silent)
    4748{
    48         if (!silent)
    49                 pio_write_8(dsrlnout_base, ch);
     49        if (!silent) {
     50                if (ascii_check(ch))
     51                        pio_write_8(dsrlnout_base, ch);
     52                else
     53                        pio_write_8(dsrlnout_base, invalch);
     54        }
    5055}
    5156
  • kernel/genarch/src/multiboot/multiboot.c

    r9be1d58 rb60c582  
    4242/** Extract command name from the multiboot module command line.
    4343 *
    44  * @param buf      Destination buffer (will always null-terminate).
    45  * @param n        Size of destination buffer.
     44 * @param buf      Destination buffer (will always NULL-terminate).
     45 * @param sz       Size of destination buffer (in bytes).
    4646 * @param cmd_line Input string (the command line).
    4747 *
    4848 */
    49 static void extract_command(char *buf, size_t n, const char *cmd_line)
     49static void extract_command(char *buf, size_t sz, const char *cmd_line)
    5050{
    51         const char *start, *end, *cp;
    52         size_t max_len;
    53        
    5451        /* Find the first space. */
    55         end = strchr(cmd_line, ' ');
     52        const char *end = str_chr(cmd_line, ' ');
    5653        if (end == NULL)
    5754                end = cmd_line + str_size(cmd_line);
     
    6158         * next character. Otherwise, place start at beginning of buffer.
    6259         */
    63         cp = end;
    64         start = buf;
     60        const char *cp = end;
     61        const char *start = buf;
     62       
    6563        while (cp != start) {
    6664                if (*cp == '/') {
     
    6866                        break;
    6967                }
    70                 --cp;
     68                cp--;
    7169        }
    7270       
    73         /* Copy the command and null-terminate the string. */
    74         max_len = min(n - 1, (size_t) (end - start));
    75         strncpy(buf, start, max_len + 1);
    76         buf[max_len] = '\0';
     71        /* Copy the command. */
     72        str_ncpy(buf, start, min(sz, (size_t) (end - start) + 1));
    7773}
    7874
     
    8884{
    8985        uint32_t flags;
    90         multiboot_mod_t *mods;
    91         uint32_t i;
    9286       
    9387        if (signature == MULTIBOOT_LOADER_MAGIC)
     
    9993       
    10094        /* Copy module information. */
    101        
     95        uint32_t i;
    10296        if ((flags & MBINFO_FLAGS_MODS) != 0) {
    10397                init.cnt = min(mi->mods_count, CONFIG_INIT_TASKS);
    104                 mods = (multiboot_mod_t *) MULTIBOOT_PTR(mi->mods_addr);
     98                multiboot_mod_t *mods
     99                    = (multiboot_mod_t *) MULTIBOOT_PTR(mi->mods_addr);
    105100               
    106101                for (i = 0; i < init.cnt; i++) {
     
    114109                                    MULTIBOOT_PTR(mods[i].string));
    115110                        } else
    116                                 init.tasks[i].name[0] = '\0';
     111                                init.tasks[i].name[0] = 0;
    117112                }
    118113        } else
     
    121116        /* Copy memory map. */
    122117       
    123         int32_t mmap_length;
    124         multiboot_mmap_t *mme;
    125         uint32_t size;
    126        
    127118        if ((flags & MBINFO_FLAGS_MMAP) != 0) {
    128                 mmap_length = mi->mmap_length;
    129                 mme = MULTIBOOT_PTR(mi->mmap_addr);
     119                int32_t mmap_length = mi->mmap_length;
     120                multiboot_mmap_t *mme = MULTIBOOT_PTR(mi->mmap_addr);
    130121                e820counter = 0;
    131122               
     
    135126                       
    136127                        /* Compute address of next structure. */
    137                         size = sizeof(mme->size) + mme->size;
     128                        uint32_t size = sizeof(mme->size) + mme->size;
    138129                        mme = ((void *) mme) + size;
    139130                        mmap_length -= size;
  • kernel/genarch/src/ofw/ebus.c

    r9be1d58 rb60c582  
    128128                return false;
    129129               
    130         if (strcmp(ofw_tree_node_name(controller), "pci") != 0) {
     130        if (str_cmp(ofw_tree_node_name(controller), "pci") != 0) {
    131131                /*
    132132                 * This is not a PCI node.
  • kernel/genarch/src/ofw/fhc.c

    r9be1d58 rb60c582  
    6767                                return true;
    6868                        }
    69                         if (strcmp(ofw_tree_node_name(node->parent), "central") != 0)
     69                        if (str_cmp(ofw_tree_node_name(node->parent), "central") != 0)
    7070                                panic("Unexpected parent node: %s.", ofw_tree_node_name(node->parent));
    7171                       
  • kernel/genarch/src/ofw/ofw_tree.c

    r9be1d58 rb60c582  
    6767       
    6868        for (i = 0; i < node->properties; i++) {
    69                 if (strcmp(node->property[i].name, name) == 0)
     69                if (str_cmp(node->property[i].name, name) == 0)
    7070                        return &node->property[i];
    7171        }
     
    110110         */
    111111        for (cur = node->child; cur; cur = cur->peer) {
    112                 if (strcmp(cur->da_name, name) == 0)
     112                if (str_cmp(cur->da_name, name) == 0)
    113113                        return cur;
    114114        }
     
    122122         */
    123123        for (cur = node->child; cur; cur = cur->peer) {
    124                 if (strcmp(ofw_tree_node_name(cur), name) == 0)
     124                if (str_cmp(ofw_tree_node_name(cur), name) == 0)
    125125                        return cur;
    126126        }
     
    147147                if (!prop || !prop->value)
    148148                        continue;
    149                 if (strcmp(prop->value, name) == 0)
     149                if (str_cmp(prop->value, name) == 0)
    150150                        return cur;
    151151        }
     
    204204                if (!prop || !prop->value)
    205205                        continue;
    206                 if (strcmp(prop->value, name) == 0)
     206                if (str_cmp(prop->value, name) == 0)
    207207                        return cur;
    208208        }
     
    230230                if (!prop || !prop->value)
    231231                        continue;
    232                 if (strcmp(prop->value, name) == 0)
     232                if (str_cmp(prop->value, name) == 0)
    233233                        return cur;
    234234        }
     
    253253                return NULL;
    254254       
    255         for (i = 1; i < str_size(path) && node; i = j + 1) {
    256                 for (j = i; j < str_size(path) && path[j] != '/'; j++)
    257                         ;
    258                 if (i == j)     /* skip extra slashes */
     255        for (i = 1; (i < str_size(path)) && (node); i = j + 1) {
     256                for (j = i; (j < str_size(path)) && (path[j] != '/'); j++);
     257               
     258                /* Skip extra slashes */
     259                if (i == j)
    259260                        continue;
    260                        
     261               
    261262                memcpy(buf, &path[i], j - i);
    262                 buf[j - i] = '\0';
     263                buf[j - i] = 0;
    263264                node = ofw_tree_find_child(node, buf);
    264265        }
  • kernel/genarch/src/ofw/pci.c

    r9be1d58 rb60c582  
    5959        prop = ofw_tree_getprop(node, "ranges");
    6060        if (!prop) {
    61                 if (strcmp(ofw_tree_node_name(node->parent), "pci") == 0)
     61                if (str_cmp(ofw_tree_node_name(node->parent), "pci") == 0)
    6262                        return ofw_pci_apply_ranges(node->parent, reg, pa);
    6363                return false;
Note: See TracChangeset for help on using the changeset viewer.