From owner-svn-src-stable-9@FreeBSD.ORG Wed Jan 4 03:37:42 2012 Return-Path: Delivered-To: svn-src-stable-9@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 727D3106564A; Wed, 4 Jan 2012 03:37:42 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 57FED8FC08; Wed, 4 Jan 2012 03:37:42 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q043bgKn058161; Wed, 4 Jan 2012 03:37:42 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q043bf3T058131; Wed, 4 Jan 2012 03:37:41 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201201040337.q043bf3T058131@svn.freebsd.org> From: Eitan Adler Date: Wed, 4 Jan 2012 03:37:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r229461 - in stable/9: . lib/libc/gen lib/libelf lib/libipsec lib/libpmc lib/msun/man libexec/rtld-elf/amd64 libexec/rtld-elf/i386 sbin/geom/class/part sbin/init share/doc/psd/03.iosys ... X-BeenThere: svn-src-stable-9@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 9-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jan 2012 03:37:42 -0000 Author: eadler (ports committer) Date: Wed Jan 4 03:37:41 2012 New Revision: 229461 URL: http://svn.freebsd.org/changeset/base/229461 Log: MFC r227458, r226436: - change "is is" to "is" or "it is" - change "the the" to "the" - other typo fixes Approved by: lstewart Modified: stable/9/UPDATING (contents, props changed) stable/9/lib/libc/gen/getutxent.3 stable/9/lib/libelf/elf_update.3 stable/9/lib/libipsec/ipsec_strerror.3 stable/9/lib/libpmc/pmc.core.3 stable/9/lib/msun/man/ieee.3 stable/9/libexec/rtld-elf/amd64/rtld_start.S stable/9/libexec/rtld-elf/i386/rtld_start.S stable/9/sbin/geom/class/part/gpart.8 stable/9/sbin/init/init.8 stable/9/share/doc/psd/03.iosys/iosys stable/9/share/doc/psd/23.rpc/rpc.prog.ms stable/9/share/doc/psd/24.xdr/xdr.nts.ms stable/9/share/doc/psd/27.nfsrpc/nfs.rfc.ms stable/9/share/man/man4/dc.4 stable/9/share/man/man9/sleepqueue.9 stable/9/sys/boot/powerpc/boot1.chrp/generate-hfs.sh stable/9/sys/dev/ath/ath_dfs/null/dfs_null.c stable/9/sys/dev/bxe/bxe_link.c stable/9/sys/dev/e1000/e1000_82575.c stable/9/sys/dev/isp/DriverManual.txt stable/9/sys/dev/vxge/include/vxgehal-config.h stable/9/sys/dev/vxge/include/vxgehal-ll.h stable/9/sys/dev/vxge/vxgehal/vxgehal-ring.c stable/9/sys/mips/nlm/cms.c stable/9/sys/netinet/ipfw/dummynet.txt stable/9/sys/ofed/drivers/infiniband/ulp/sdp/Kconfig stable/9/usr.bin/compress/doc/NOTES stable/9/usr.sbin/pkg_install/lib/version.c Directory Properties: stable/9/lib/libc/gen/ (props changed) stable/9/lib/libelf/ (props changed) stable/9/lib/libipsec/ (props changed) stable/9/lib/libpmc/ (props changed) stable/9/lib/msun/man/ (props changed) stable/9/libexec/rtld-elf/ (props changed) stable/9/sbin/geom/ (props changed) stable/9/sbin/init/ (props changed) stable/9/share/doc/ (props changed) stable/9/share/man/ (props changed) stable/9/share/man/man4/ (props changed) stable/9/share/man/man9/ (props changed) stable/9/sys/ (props changed) stable/9/sys/boot/ (props changed) stable/9/sys/boot/powerpc/boot1.chrp/ (props changed) stable/9/usr.bin/compress/ (props changed) stable/9/usr.sbin/pkg_install/ (props changed) Modified: stable/9/UPDATING ============================================================================== --- stable/9/UPDATING Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/UPDATING Wed Jan 4 03:37:41 2012 (r229461) @@ -449,7 +449,7 @@ Items affecting the ports and packages s There's one kernel module for each firmware. Adding "device iwnfw" to the kernel configuration file means including all three firmware images inside the kernel. If you want to include just the one for - your wireless card, use the the devices iwn4965fw, iwn5000fw or + your wireless card, use the devices iwn4965fw, iwn5000fw or iwn5150fw. 20090926: Modified: stable/9/lib/libc/gen/getutxent.3 ============================================================================== --- stable/9/lib/libc/gen/getutxent.3 Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/lib/libc/gen/getutxent.3 Wed Jan 4 03:37:41 2012 (r229461) @@ -243,7 +243,7 @@ or .Dv LOGIN_PROCESS and whose .Fa ut_line -is equal to the the same field in +is equal to the same field in .Fa line . .Pp The Modified: stable/9/lib/libelf/elf_update.3 ============================================================================== --- stable/9/lib/libelf/elf_update.3 Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/lib/libelf/elf_update.3 Wed Jan 4 03:37:41 2012 (r229461) @@ -66,7 +66,7 @@ responsibility for the layout of the ELF If this flag is not set, the ELF library will compute the layout of the file from its associated section descriptors. .Pp -It is the application's responsibility to manage the the following +It is the application's responsibility to manage the following structure members in the ELF file: .Bl -tag -width indent .It "Executable Header" Modified: stable/9/lib/libipsec/ipsec_strerror.3 ============================================================================== --- stable/9/lib/libipsec/ipsec_strerror.3 Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/lib/libipsec/ipsec_strerror.3 Wed Jan 4 03:37:41 2012 (r229461) @@ -63,7 +63,7 @@ as an underlying function, calling .Xr strerror 3 after .Fn ipsec_strerror -would overwrite the the return value from +would overwrite the return value from .Fn ipsec_strerror and make it invalid. .\" Modified: stable/9/lib/libpmc/pmc.core.3 ============================================================================== --- stable/9/lib/libpmc/pmc.core.3 Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/lib/libpmc/pmc.core.3 Wed Jan 4 03:37:41 2012 (r229461) @@ -459,7 +459,7 @@ The number of instruction fetch misses i streaming buffers. .It Li ICache_Reads .Pq Event 80H , Umask 00H -The number of instruction fetches from the the instruction cache and +The number of instruction fetches from the instruction cache and streaming buffers counting both cacheable and un-cacheable fetches. .It Li IFU_Mem_Stall .Pq Event 86H , Umask 00H Modified: stable/9/lib/msun/man/ieee.3 ============================================================================== --- stable/9/lib/msun/man/ieee.3 Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/lib/msun/man/ieee.3 Wed Jan 4 03:37:41 2012 (r229461) @@ -183,7 +183,7 @@ Type name: .Bd -ragged -offset indent -compact On some architectures, .Vt long double -is the the same as +is the same as .Vt double . .Ed .Pp Modified: stable/9/libexec/rtld-elf/amd64/rtld_start.S ============================================================================== --- stable/9/libexec/rtld-elf/amd64/rtld_start.S Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/libexec/rtld-elf/amd64/rtld_start.S Wed Jan 4 03:37:41 2012 (r229461) @@ -56,7 +56,7 @@ * and (2) "reloff", the byte offset of the appropriate relocation entry * in the PLT relocation table. * - * We are careful to preserve all registers, even the the caller-save + * We are careful to preserve all registers, even the caller-save * registers. That is because this code may be invoked by low-level * assembly-language code that is not ABI-compliant. * Modified: stable/9/libexec/rtld-elf/i386/rtld_start.S ============================================================================== --- stable/9/libexec/rtld-elf/i386/rtld_start.S Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/libexec/rtld-elf/i386/rtld_start.S Wed Jan 4 03:37:41 2012 (r229461) @@ -63,7 +63,7 @@ * and (2) "reloff", the byte offset of the appropriate relocation entry * in the PLT relocation table. * - * We are careful to preserve all registers, even the the caller-save + * We are careful to preserve all registers, even the caller-save * registers. That is because this code may be invoked by low-level * assembly-language code that is not ABI-compliant. */ Modified: stable/9/sbin/geom/class/part/gpart.8 ============================================================================== --- stable/9/sbin/geom/class/part/gpart.8 Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/sbin/geom/class/part/gpart.8 Wed Jan 4 03:37:41 2012 (r229461) @@ -371,7 +371,7 @@ Modify a partition from geom and further identified by the .Fl i Ar index option. -Only the the type and/or label of the partition can be modified. +Only the type and/or label of the partition can be modified. To change the type of a partition, specify the new type with the .Fl t Ar type option. Modified: stable/9/sbin/init/init.8 ============================================================================== --- stable/9/sbin/init/init.8 Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/sbin/init/init.8 Wed Jan 4 03:37:41 2012 (r229461) @@ -147,7 +147,7 @@ When this shell dies, either because the user logged out or an abnormal termination occurred (a signal), .Nm login -records the logout in the the user accounting +records the logout in the user accounting database (see .Xr getutxent 3) and terminates. Modified: stable/9/share/doc/psd/03.iosys/iosys ============================================================================== --- stable/9/share/doc/psd/03.iosys/iosys Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/share/doc/psd/03.iosys/iosys Wed Jan 4 03:37:41 2012 (r229461) @@ -813,7 +813,7 @@ which have a separate argument which indicates read or write. .IP B_DONE 10 This bit is set -to 0 when a block is handed to the the device strategy +to 0 when a block is handed to the device strategy routine and is turned on when the operation completes, whether normally as the result of an error. It is also used as part of the return argument of Modified: stable/9/share/doc/psd/23.rpc/rpc.prog.ms ============================================================================== --- stable/9/share/doc/psd/23.rpc/rpc.prog.ms Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/share/doc/psd/23.rpc/rpc.prog.ms Wed Jan 4 03:37:41 2012 (r229461) @@ -317,7 +317,7 @@ look up the appropriate program, version in a manual, just as you look up the name of a memory allocator when you want to allocate memory. .LP -The simplest way of making remote procedure calls is with the the RPC +The simplest way of making remote procedure calls is with the RPC library routine .I callrpc() It has eight parameters. The first is the name of the remote server @@ -1105,7 +1105,7 @@ Note that, after being used, the charact .I svc_freeargs() .I svc_freeargs() will not attempt to free any memory if the variable indicating it -is NULL. For example, in the the routine +is NULL. For example, in the routine .I xdr_finalexample (), given earlier, if .I finalp->string Modified: stable/9/share/doc/psd/24.xdr/xdr.nts.ms ============================================================================== --- stable/9/share/doc/psd/24.xdr/xdr.nts.ms Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/share/doc/psd/24.xdr/xdr.nts.ms Wed Jan 4 03:37:41 2012 (r229461) @@ -721,7 +721,7 @@ it must not exceed .I maxlength . Next .I sp -is dereferenced; if the the value is +is dereferenced; if the value is .I NULL , then a string of the appropriate length is allocated and .I *sp Modified: stable/9/share/doc/psd/27.nfsrpc/nfs.rfc.ms ============================================================================== --- stable/9/share/doc/psd/27.nfsrpc/nfs.rfc.ms Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/share/doc/psd/27.nfsrpc/nfs.rfc.ms Wed Jan 4 03:37:41 2012 (r229461) @@ -961,7 +961,7 @@ call to get more entries starting at a given point in the directory. The special cookie zero (all bits zero) can be used to get the entries starting at the beginning of the directory. The "fileid" field should be the same number as the -"fileid" in the the attributes of the file. (See the +"fileid" in the attributes of the file. (See the .I "Basic Data Types" section.) The "eof" flag has a value of Modified: stable/9/share/man/man4/dc.4 ============================================================================== --- stable/9/share/man/man4/dc.4 Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/share/man/man4/dc.4 Wed Jan 4 03:37:41 2012 (r229461) @@ -55,7 +55,7 @@ if_dc_load="YES" The .Nm driver provides support for several PCI Fast Ethernet adapters and -embedded controllers based on the the DEC/Intel 21143 chipset and clones. +embedded controllers based on the DEC/Intel 21143 chipset and clones. .Pp All of supported chipsets have the same general register layout, DMA descriptor format and method of operation. Modified: stable/9/share/man/man9/sleepqueue.9 ============================================================================== --- stable/9/share/man/man9/sleepqueue.9 Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/share/man/man9/sleepqueue.9 Wed Jan 4 03:37:41 2012 (r229461) @@ -351,7 +351,7 @@ argument specifies the thread to awaken argument specifies the wait channel to awaken it from. If the thread .Fa td -is not blocked on the the wait channel +is not blocked on the wait channel .Fa wchan then this function will not do anything, even if the thread is asleep on a different wait channel. Modified: stable/9/sys/boot/powerpc/boot1.chrp/generate-hfs.sh ============================================================================== --- stable/9/sys/boot/powerpc/boot1.chrp/generate-hfs.sh Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/sys/boot/powerpc/boot1.chrp/generate-hfs.sh Wed Jan 4 03:37:41 2012 (r229461) @@ -29,7 +29,7 @@ hmkdir ppc hattrib -b ppc hcd ppc -# Make two dummy files for the the CHRP boot script and boot1 +# Make two dummy files for the CHRP boot script and boot1 echo 'Bootinfo START' | dd of=bootinfo.txt.tmp cbs=$CHRPBOOT_SIZE count=1 conv=block echo 'Boot1 START' | dd of=boot1.elf.tmp cbs=$BOOT1_SIZE count=1 conv=block Modified: stable/9/sys/dev/ath/ath_dfs/null/dfs_null.c ============================================================================== --- stable/9/sys/dev/ath/ath_dfs/null/dfs_null.c Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/sys/dev/ath/ath_dfs/null/dfs_null.c Wed Jan 4 03:37:41 2012 (r229461) @@ -128,7 +128,7 @@ ath_dfs_process_radar_event(struct ath_s } /* - * Determine whether the the DFS check task needs to be queued. + * Determine whether the DFS check task needs to be queued. * * This is called in the RX task when the current batch of packets * have been received. It will return whether there are any radar Modified: stable/9/sys/dev/bxe/bxe_link.c ============================================================================== --- stable/9/sys/dev/bxe/bxe_link.c Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/sys/dev/bxe/bxe_link.c Wed Jan 4 03:37:41 2012 (r229461) @@ -2586,7 +2586,7 @@ bxe_8726_read_sfp_module_eeprom(struct l if (byte_cnt > 16) { DBPRINT(sc, BXE_VERBOSE_PHY, - "Reading from eeprom is is limited to 0xf\n"); + "Reading from eeprom is limited to 0xf\n"); return (-EINVAL); } /* Set the read command byte count. */ @@ -2655,7 +2655,7 @@ bxe_8727_read_sfp_module_eeprom(struct l if (byte_cnt > 16) { DBPRINT(sc, BXE_VERBOSE_PHY, - "Reading from eeprom is is limited to 0xf\n"); + "Reading from eeprom is limited to 0xf\n"); return (-EINVAL); } Modified: stable/9/sys/dev/e1000/e1000_82575.c ============================================================================== --- stable/9/sys/dev/e1000/e1000_82575.c Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/sys/dev/e1000/e1000_82575.c Wed Jan 4 03:37:41 2012 (r229461) @@ -1983,7 +1983,7 @@ out: * e1000_reset_mdicnfg_82580 - Reset MDICNFG destination and com_mdio bits * @hw: pointer to the HW structure * - * This resets the the MDICNFG.Destination and MDICNFG.Com_MDIO bits based on + * This resets the MDICNFG.Destination and MDICNFG.Com_MDIO bits based on * the values found in the EEPROM. This addresses an issue in which these * bits are not restored from EEPROM after reset. **/ Modified: stable/9/sys/dev/isp/DriverManual.txt ============================================================================== --- stable/9/sys/dev/isp/DriverManual.txt Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/sys/dev/isp/DriverManual.txt Wed Jan 4 03:37:41 2012 (r229461) @@ -165,7 +165,7 @@ and saves the QLogic HBA from having to The QLogic HBA is an interrupting card, and when servicing an interrupt you really only have to check for either a mailbox interrupt or an -interrupt notification that the the response queue has an entry to +interrupt notification that the response queue has an entry to be dequeued. 4.3 Fibre Channel SCSI out of SCSI @@ -327,7 +327,7 @@ here in clarifying some of this. A succesful execution of isp_init will lead to the driver 'registering' itself with this platform's SCSI subsystem. One assumed action for this -is the registry of a function the the SCSI subsystem for this platform +is the registry of a function that the SCSI subsystem for this platform will call when it has a SCSI command to run. The platform specific module function that receives this will do whatever Modified: stable/9/sys/dev/vxge/include/vxgehal-config.h ============================================================================== --- stable/9/sys/dev/vxge/include/vxgehal-config.h Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/sys/dev/vxge/include/vxgehal-config.h Wed Jan 4 03:37:41 2012 (r229461) @@ -1665,7 +1665,7 @@ typedef struct vxge_hal_mrpcim_config_t * the interrupt is triggered. * @rtimer_event_sf: Restriction Timer Event Scale Factor. A scale factor that * is to be applied to the current event count before it is added - * to the restriction timer value when the the restriction timer + * to the restriction timer value when the restriction timer * is started. * The scale factor is applied as a right or left shift to multiply * or divide by the event count. The programmable values are as Modified: stable/9/sys/dev/vxge/include/vxgehal-ll.h ============================================================================== --- stable/9/sys/dev/vxge/include/vxgehal-ll.h Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/sys/dev/vxge/include/vxgehal-ll.h Wed Jan 4 03:37:41 2012 (r229461) @@ -1590,7 +1590,7 @@ vxge_hal_ring_rxd_post( * vxge_hal_ring_is_next_rxd_completed - Check if the next rxd is completed * @vpath_handle: Virtual Path handle. * - * Checks if the the _next_ completed descriptor is in host memory + * Checks if the _next_ completed descriptor is in host memory * * Returns: VXGE_HAL_OK - success. * VXGE_HAL_INF_NO_MORE_COMPLETED_DESCRIPTORS - No completed descriptors Modified: stable/9/sys/dev/vxge/vxgehal/vxgehal-ring.c ============================================================================== --- stable/9/sys/dev/vxge/vxgehal/vxgehal-ring.c Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/sys/dev/vxge/vxgehal/vxgehal-ring.c Wed Jan 4 03:37:41 2012 (r229461) @@ -1339,7 +1339,7 @@ vxge_hal_ring_rxd_post_post_db( * vxge_hal_ring_is_next_rxd_completed - Check if the next rxd is completed * @vpath_handle: Virtual Path handle. * - * Checks if the the _next_ completed descriptor is in host memory + * Checks if the _next_ completed descriptor is in host memory * * Returns: VXGE_HAL_OK - success. * VXGE_HAL_INF_NO_MORE_COMPLETED_DESCRIPTORS - No completed descriptors Modified: stable/9/sys/mips/nlm/cms.c ============================================================================== --- stable/9/sys/mips/nlm/cms.c Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/sys/mips/nlm/cms.c Wed Jan 4 03:37:41 2012 (r229461) @@ -82,7 +82,7 @@ static struct msgring_thread msgring_thr static struct proc *msgring_proc; /* all threads are under a proc */ /* - * The device drivers can register a handler for the the messages sent + * The device drivers can register a handler for the messages sent * from a station (corresponding to the device). */ struct tx_stn_handler { Modified: stable/9/sys/netinet/ipfw/dummynet.txt ============================================================================== --- stable/9/sys/netinet/ipfw/dummynet.txt Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/sys/netinet/ipfw/dummynet.txt Wed Jan 4 03:37:41 2012 (r229461) @@ -325,7 +325,7 @@ we do the following: dummynet_task() =============== -The dummynet_task() is the the main dummynet processing function and is +The dummynet_task() function is the main dummynet processing function and is called every tick. This function first calculate the new current time, then it checks if it is the time to wake up object from the system_heap comparing the current time and the key of the heap. Two types of object (really the Modified: stable/9/sys/ofed/drivers/infiniband/ulp/sdp/Kconfig ============================================================================== --- stable/9/sys/ofed/drivers/infiniband/ulp/sdp/Kconfig Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/sys/ofed/drivers/infiniband/ulp/sdp/Kconfig Wed Jan 4 03:37:41 2012 (r229461) @@ -21,7 +21,7 @@ config INFINIBAND_SDP_DEBUG_DATA bool "Sockets Direct Protocol data path debugging" depends on INFINIBAND_SDP_DEBUG ---help--- - This option compiles debugging code into the the data path + This option compiles debugging code into the data path of the SDP driver. The output can be turned on via the data_debug_level module parameter; however, even with output turned off, this debugging code will have some performance Modified: stable/9/usr.bin/compress/doc/NOTES ============================================================================== --- stable/9/usr.bin/compress/doc/NOTES Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/usr.bin/compress/doc/NOTES Wed Jan 4 03:37:41 2012 (r229461) @@ -51,7 +51,7 @@ comprehensive survey of an area which wi Until the dust clears, how you approach ideas which are patented depends on how paranoid you are of a legal onslaught. Arbitrary? Yes. But -the patent bar the the CCPA (Court of Customs and Patent Appeals) +the patent bar of the CCPA (Court of Customs and Patent Appeals) thanks you for any uncertainty as they, at least, stand to gain from any trouble. Modified: stable/9/usr.sbin/pkg_install/lib/version.c ============================================================================== --- stable/9/usr.sbin/pkg_install/lib/version.c Wed Jan 4 03:14:10 2012 (r229460) +++ stable/9/usr.sbin/pkg_install/lib/version.c Wed Jan 4 03:37:41 2012 (r229461) @@ -66,7 +66,7 @@ split_version(const char *pkgname, const if (pkgname == NULL) errx(2, "%s: Passed NULL pkgname.", __func__); - /* Look for the last '-' the the pkgname */ + /* Look for the last '-' in the pkgname */ ch = strrchr(pkgname, '-'); /* Cheat if we are just passed a version, not a valid package name */ versionstr = ch ? ch + 1 : pkgname;