* harbour/mpkg_deb.sh
* harbour/make_gnu_xmingwce.sh
* harbour/tests/transtst.prg
* harbour/tests/wcecon.prg
* harbour/tests/foreach2.prg
* harbour/tests/rto_get.prg
* harbour/tests/memtst.prg
* harbour/tests/gtwin.prg
* harbour/tests/mt/mttest08.prg
* harbour/tests/mt/mttest09.prg
* harbour/tests/mt/mttest01.prg
* harbour/tests/mt/mttest10.prg
* harbour/tests/mt/mttest02.prg
* harbour/tests/mt/mttest11.prg
* harbour/tests/mt/mttest03.prg
* harbour/tests/mt/mttest12.prg
* harbour/tests/mt/mttest04.prg
* harbour/tests/mt/mttest05.prg
* harbour/tests/mt/mttest06.prg
* harbour/tests/mt/mttest07.prg
* harbour/tests/speedtst.prg
* harbour/tests/hsxtest.prg
* harbour/tests/rto_tb.prg
* harbour/tests/multifnc/t0.prg
* harbour/tests/multifnc/t1.prg
* harbour/tests/multifnc/t2.prg
* harbour/tests/multifnc/Makefile
* harbour/tests/gtchars.prg
* harbour/tests/aliaslck.prg
* harbour/tests/gtcolors.prg
* harbour/tests/gtkeys.prg
* harbour/make_gcc.sh
* harbour/mpkg_rpm_win.sh
* harbour/doc/howtosvn.txt
* harbour/doc/howtobld.txt
* harbour/make_gnu_os2.cmd
* harbour/include/hbrddnsx.h
* harbour/include/hbsxdef.ch
* harbour/include/hbwince.h
* harbour/include/hbwmain.c
* harbour/include/hbthread.h
* harbour/include/hbsix.ch
* harbour/include/hbvmint.h
* harbour/include/hbassert.h
* harbour/include/hbthread.ch
* harbour/include/hbatomic.h
* harbour/mpkg_rpm_wce.sh
* harbour/source/hbextern/hbextern.prg
* harbour/source/hbextern/Makefile
* harbour/source/lang/msgptiso.c
* harbour/source/vm/dlmalloc.c
* harbour/source/vm/vmmt/Makefile
* harbour/source/vm/thread.c
* harbour/source/vm/mainwin/Makefile
* harbour/source/vm/vm.c
* harbour/source/debug/dbgtinp.prg
* harbour/source/common/hbprintf.c
* harbour/source/common/hbwince.c
* harbour/source/common/hbfopen.c
* harbour/source/rtl/tscalars.c
* harbour/source/rtl/hbi18n2.prg
* harbour/source/rtl/gui.prg
* harbour/source/rtl/getsys53.prg
* harbour/source/rtl/hbfile.c
* harbour/source/rtl/tscalard.c
* harbour/source/rtl/tscalarh.c
* harbour/source/rtl/tbrowsys.prg
* harbour/source/rtl/tscalarl.c
* harbour/source/rtl/gtchrmap.c
* harbour/source/rtl/tscalarp.c
* harbour/source/rtl/oemansix.c
* harbour/source/rtl/hbrunfun.c
* harbour/source/rtl/strc.c
* harbour/source/rtl/gttrm/Makefile
* harbour/source/rtl/gttrm/gttrm.c
* harbour/source/rtl/dirscan.prg
* harbour/source/rtl/tthreadx.prg
* harbour/source/rtl/tscalara.c
* harbour/source/rtl/hbhex.c
* harbour/source/rtl/inkeyapi.c
* harbour/source/rtl/filebuf.c
* harbour/source/rtl/tscalaru.c
* harbour/source/rtl/tmenusys.prg
* harbour/source/rtl/secondfs.c
* harbour/source/rtl/hbproces.c
* harbour/source/rtl/menusys.prg
* harbour/source/rtl/gtkeycod.c
* harbour/source/rtl/typefilx.prg
* harbour/source/rtl/natmsgu.c
* harbour/source/rtl/thfuncx.prg
* harbour/source/rtl/tscalarb.c
* harbour/source/rtl/hbini.prg
* harbour/source/rtl/tscalar.prg
* harbour/source/rtl/mouse53.c
* harbour/source/rtl/hbprocfn.c
* harbour/source/rtl/tscalarn.c
* harbour/source/rtl/strtoexp.c
* harbour/source/rtl/einstvar.prg
* harbour/source/rtl/hbstrsh.c
* harbour/source/rtl/gtkbstat.c
* harbour/source/rtl/hbbit.c
* harbour/source/rtl/tscalarc.c
* harbour/source/codepage/cpsv850.c
* harbour/source/codepage/cpeswinm.c
* harbour/source/codepage/cpsk852.c
* harbour/source/codepage/ucmik.c
* harbour/source/codepage/cpbgmik.c
* harbour/source/codepage/cpsvwin.c
* harbour/source/codepage/cpskiso.c
* harbour/source/codepage/cpskwin.c
* harbour/source/codepage/cpsvclip.c
* harbour/source/codepage/cpskkam.c
* harbour/source/rdd/dbjoinx.prg
* harbour/source/rdd/dblistx.prg
* harbour/source/rdd/rddinfo.c
* harbour/source/rdd/dbtotalx.prg
* harbour/source/rdd/dbstruxx.prg
* harbour/source/rdd/dbsortx.prg
* harbour/source/rdd/dbdetach.c
* harbour/source/rdd/dbcmdx.c
* harbour/source/rdd/dbfnsx/dbfnsx1.c
* harbour/source/rdd/dbfnsx/Makefile
* harbour/source/rdd/dbdrop.c
* harbour/source/rdd/dbupdatx.prg
* harbour/source/rdd/dbcmd53.c
* harbour/source/rdd/usrrdd/example/exlog.prg
* harbour/source/rdd/usrrdd/example/exarr.prg
* harbour/source/rdd/usrrdd/rdds/logrdd.prg
* harbour/source/rdd/dbfuncsx.prg
* harbour/source/rdd/dbexists.c
* harbour/source/rdd/hbsix/sxsem.c
* harbour/source/rdd/hbsix/sxord.c
* harbour/source/rdd/hbsix/sxredir.c
* harbour/source/rdd/hbsix/sxini.prg
* harbour/source/rdd/hbsix/sxfname.c
* harbour/source/rdd/hbsix/sxtable.c
* harbour/source/rdd/hbsix/sxcompat.prg
* harbour/source/rdd/hbsix/sxtrig.prg
* harbour/source/rdd/hbsix/sxutil.c
* harbour/source/rdd/fieldhb.c
* harbour/source/compiler/compi18n.c
* harbour/contrib/hbmysql/common.mak
* harbour/contrib/hbmysql/make_gcc.sh
* harbour/contrib/hbmysql/make_vc.bat
* harbour/contrib/make_b32_all.bat
* harbour/contrib/hbct/screen2.c
* harbour/contrib/hbct/charsprd.c
* harbour/contrib/hbct/dbftools.c
* harbour/contrib/hbct/make_gcc.sh
* harbour/contrib/hbct/ctrand.prg
* harbour/contrib/hbct/getsecrt.prg
* harbour/contrib/hbct/ctdisk.ch
* harbour/contrib/hbct/keysec.prg
* harbour/contrib/hbct/maxline.c
* harbour/contrib/hbct/getinput.prg
* harbour/contrib/hbct/video.c
* harbour/contrib/hbct/screen3.prg
* harbour/contrib/hbct/dattime3.c
* harbour/contrib/hbct/lton.c
* harbour/contrib/hbct/cursor.c
* harbour/contrib/hbct/keytime.prg
* harbour/contrib/hbct/misc2.c
* harbour/contrib/hbct/color.c
* harbour/contrib/hbct/cttime.prg
* harbour/contrib/hbct/ctvideo.ch
* harbour/contrib/hbct/showtime.prg
* harbour/contrib/hbct/numcount.c
* harbour/contrib/hbct/pack.c
* harbour/contrib/hbct/setlast.c
* harbour/contrib/hbct/setrc.c
* harbour/contrib/hbct/like.c
* harbour/contrib/hbct/disk.c
* harbour/contrib/hbct/ctstrfil.c
* harbour/contrib/hbct/ctstrfil.h
* harbour/contrib/hbct/getinfo.prg
* harbour/contrib/hbct/numline.c
* harbour/contrib/hbct/scrmark.prg
* harbour/contrib/hbct/dattime2.c
* harbour/contrib/hbct/keysave.prg
* harbour/contrib/hbct/common.mak
* harbour/contrib/hbct/misc3.c
* harbour/contrib/hbct/expand.c
* harbour/contrib/hbct/fcopy.prg
* harbour/contrib/hbct/ctpad.c
* harbour/contrib/hbct/datetime.c
* harbour/contrib/hbct/blank.prg
* harbour/contrib/xhb/hboutdbg.c
* harbour/contrib/xhb/dbgfx.prg
* harbour/contrib/xhb/hbcompat.h
* harbour/contrib/xhb/hblog.ch
* harbour/contrib/xhb/hbcompat.ch
* harbour/contrib/xhb/xhbenum.c
* harbour/contrib/xhb/hblognet.prg
* harbour/contrib/xhb/hbxml.c
* harbour/contrib/xhb/xhbmsgs.c
* harbour/contrib/xhb/xhbqself.c
* harbour/contrib/xhb/dirrec.prg
* harbour/contrib/xhb/hbxml.h
* harbour/contrib/xhb/make_gcc.sh
* harbour/contrib/xhb/xhbarr.c
* harbour/contrib/xhb/xhb.h
* harbour/contrib/xhb/hbctypes.ch
* harbour/contrib/xhb/xhb.ch
* harbour/contrib/xhb/hbsyslog.c
* harbour/contrib/xhb/txml.prg
* harbour/contrib/xhb/wintypes.ch
* harbour/contrib/xhb/sprintf.prg
* harbour/contrib/xhb/Makefile
* harbour/contrib/xhb/dbgfxc.c
* harbour/contrib/xhb/cstruct.ch
* harbour/contrib/xhb/hblog.prg
* harbour/contrib/xhb/hbstruct.prg
* harbour/contrib/xhb/xhbcomp.prg
* harbour/contrib/xhb/hbstruct.ch
* harbour/contrib/xhb/xhbextrn.ch
* harbour/contrib/xhb/hbfast.h
* harbour/contrib/xhb/xhbwith.c
* harbour/contrib/xhb/hbcomprs.c
* harbour/contrib/xhb/common.mak
* harbour/contrib/xhb/hbxml.ch
* harbour/contrib/xhb/hblogdef.ch
* harbour/contrib/xhb/cstructc.c
* harbour/contrib/xhb/xhbfunc.c
* harbour/contrib/xhb/cstruct.prg
* harbour/contrib/hbodbc/common.mak
* harbour/contrib/hbodbc/make_gcc.sh
* harbour/contrib/hbodbc/make_vc.bat
* harbour/contrib/hbgt/common.mak
* harbour/contrib/hbgt/make_gcc.sh
* harbour/contrib/hbmsql/common.mak
* harbour/contrib/hbmsql/tests/hbmk_b32.bat
* harbour/contrib/hbmsql/tests/hbmk_vc.bat
* harbour/contrib/hbmsql/make_gcc.sh
* harbour/contrib/hbmsql/make_b32.bat
* harbour/contrib/hbmsql/make_vc.bat
* harbour/contrib/mtpl_b32.bat
* harbour/contrib/mtpl_b32.mak
* harbour/contrib/hbmzip/crypt.h
* harbour/contrib/hbmzip/make_gcc.sh
* harbour/contrib/hbole/common.mak
* harbour/contrib/hbole/oleauto.prg
* harbour/contrib/hbole/ole2.c
* harbour/contrib/hbole/tests/testole.prg
* harbour/contrib/hbole/tests/hbmk_b32.bat
* harbour/contrib/hbole/make_gcc.sh
* harbour/contrib/hbole/make_b32.bat
* harbour/contrib/hbole/make_vc.bat
* harbour/contrib/hbole/Makefile
* harbour/contrib/make_gcc_all.sh
* harbour/contrib/hbfbird/common.mak
* harbour/contrib/hbfbird/tests/simple.prg
* harbour/contrib/hbfbird/tests/test.prg
* harbour/contrib/hbfbird/tests/stress.prg
* harbour/contrib/hbfbird/tests/testapi.c
* harbour/contrib/hbfbird/tests/hbmk_b32.bat
* harbour/contrib/hbfbird/tests/Makefile
* harbour/contrib/hbfbird/make_gcc.sh
* harbour/contrib/hbfbird/firebird.c
* harbour/contrib/hbfbird/make_b32.bat
* harbour/contrib/hbfbird/tfirebrd.prg
* harbour/contrib/hbfbird/make_vc.bat
* harbour/contrib/hbfbird/readme.txt
* harbour/contrib/hbfbird/Makefile
* harbour/contrib/hbapollo/common.mak
* harbour/contrib/hbapollo/make_gcc.sh
* harbour/contrib/hbapollo/make_vc.bat
* harbour/contrib/make_vc_all.bat
* harbour/contrib/hbziparc/common.mak
* harbour/contrib/hbziparc/make_gcc.sh
* harbour/contrib/hbnf/ftshadow.c
* harbour/contrib/hbnf/make_gcc.sh
* harbour/contrib/hbnf/iamidle.c
* harbour/contrib/hbnf/fttext.c
* harbour/contrib/hbnf/setkeys.c
* harbour/contrib/hbnf/common.mak
* harbour/contrib/hbnf/ftisprn.c
* harbour/contrib/hbnf/putkey.c
* harbour/contrib/hbnf/setlastk.c
* harbour/contrib/rddsql/sddfb/Makefile
* harbour/contrib/hbhpdf/tests/harupdf.prg
* harbour/contrib/hbhpdf/tests/files/cp936.txt
* harbour/contrib/hbhpdf/tests/files/elic_jp.txt
* harbour/contrib/hbhpdf/tests/files/sjis.txt
* harbour/contrib/hbhpdf/tests/files/euc.txt
* harbour/contrib/hbhpdf/tests/files/cp932.txt
* harbour/contrib/hbhpdf/harupdf.ch
* harbour/contrib/hbhpdf/harupdf.c
* harbour/contrib/rddado/common.mak
* harbour/contrib/rddado/make_gcc.sh
* harbour/contrib/rddado/make_vc.bat
* harbour/contrib/gtwvg/wvgdlg.prg
* harbour/contrib/gtwvg/gtwvg.h
* harbour/contrib/gtwvg/wvglistb.prg
* harbour/contrib/gtwvg/make_b32.bat
* harbour/contrib/gtwvg/wvgmle.prg
* harbour/contrib/gtwvg/wvggui.c
* harbour/contrib/gtwvg/wvgtoolb.prg
* harbour/contrib/gtwvg/wvgpushb.prg
* harbour/contrib/gtwvg/wvggui.h
* harbour/contrib/gtwvg/wvgsle.prg
* harbour/contrib/gtwvg/wvgtreev.prg
* harbour/contrib/gtwvg/make_gcc.sh
* harbour/contrib/gtwvg/tests/demoxbp.prg
* harbour/contrib/gtwvg/tests/demowvg.prg
* harbour/contrib/gtwvg/wvgdatar.prg
* harbour/contrib/gtwvg/wvgradio.prg
* harbour/contrib/gtwvg/make_vc.bat
* harbour/contrib/gtwvg/wincallb.c
* harbour/contrib/gtwvg/Makefile
* harbour/contrib/gtwvg/wvgsysw.prg
* harbour/contrib/gtwvg/wvgmenub.prg
* harbour/contrib/gtwvg/wvgbitmp.prg
* harbour/contrib/gtwvg/wvtwin.ch
* harbour/contrib/gtwvg/wvgcheck.prg
* harbour/contrib/gtwvg/wvgstatb.prg
* harbour/contrib/gtwvg/wvgstatc.prg
* harbour/contrib/gtwvg/common.mak
* harbour/contrib/gtwvg/hbgtwvg.ch
* harbour/contrib/gtwvg/wvghtmlv.prg
* harbour/contrib/gtwvg/wvgparts.ch
* harbour/contrib/gtwvg/wincback.prg
* harbour/contrib/gtwvg/wvg3stat.prg
* harbour/contrib/gtwvg/wvgcombo.prg
* harbour/contrib/mtpl_gcc.mak
* harbour/contrib/hbpgsql/common.mak
* harbour/contrib/hbpgsql/tests/hbmk_b32.bat
* harbour/contrib/hbpgsql/make_gcc.sh
* harbour/contrib/hbpgsql/make_vc.bat
* harbour/contrib/rddads/unixutils.h
* harbour/contrib/rddads/common.mak
* harbour/contrib/rddads/make_gcc.sh
* harbour/contrib/mtpl_gcc.sh
* harbour/contrib/hbclipsm/common.mak
* harbour/contrib/hbclipsm/make_gcc.sh
* harbour/contrib/hbclipsm/make_vc.bat
* harbour/contrib/hbfimage/common.mak
* harbour/contrib/hbfimage/tests/fitest.prg
* harbour/contrib/hbfimage/tests/hbmk_b32.bat
* harbour/contrib/hbfimage/make_gcc.sh
* harbour/contrib/hbfimage/fi_winfu.c
* harbour/contrib/hbfimage/fi_wrp.c
* harbour/contrib/hbfimage/make_b32.bat
* harbour/contrib/hbfimage/make_vc.bat
* harbour/contrib/hbfimage/readme.txt
* harbour/contrib/hbfimage/Makefile
* harbour/contrib/hbfimage/freeimage.ch
* harbour/contrib/hbgd/common.mak
* harbour/contrib/hbgd/make_gcc.sh
* harbour/contrib/hbgd/make_vc.bat
* harbour/contrib/hbmisc/common.mak
* harbour/contrib/hbmisc/make_gcc.sh
* harbour/contrib/hbtip/encurl.prg
* harbour/contrib/hbtip/thtml.prg
* harbour/contrib/hbtip/thtml.ch
* harbour/contrib/hbtip/utils.c
* harbour/contrib/hbtip/popcln.prg
* harbour/contrib/hbtip/sendmail.prg
* harbour/contrib/hbtip/tip.ch
* harbour/contrib/hbtip/cgi.prg
* harbour/contrib/hbtip/url.prg
* harbour/contrib/hbtip/encqp.prg
* harbour/contrib/hbtip/base64x.c
* harbour/contrib/hbtip/common.mak
* harbour/contrib/hbtip/make_gcc.sh
* harbour/contrib/hbtip/httpcln.prg
* harbour/contrib/hbtip/encmthd.c
* harbour/contrib/hbtip/client.prg
* harbour/contrib/hbtip/encoder.prg
* harbour/contrib/hbtip/smtpcln.prg
* harbour/contrib/hbtip/encb64.prg
* harbour/contrib/hbtip/mail.prg
* harbour/contrib/hbtip/credent.prg
* harbour/contrib/hbtip/ftpcln.prg
* harbour/contrib/hbtip/Makefile
* harbour/contrib/hbgf/hbgfwin/common.mak
* harbour/contrib/hbbmcdx/common.mak
* harbour/contrib/hbbmcdx/make_gcc.sh
* harbour/contrib/hbbmcdx/make_vc.bat
* harbour/contrib/hbwin/win_prn2.c
* harbour/contrib/hbwin/win_tprn.prg
* harbour/contrib/hbwin/common.mak
* harbour/contrib/hbwin/tests/testole.prg
* harbour/contrib/hbwin/tests/testprn.prg
* harbour/contrib/hbwin/make_gcc.sh
* harbour/contrib/hbwin/Makefile
* harbour/contrib/hbwin/win_prn1.c
* harbour/contrib/mtpl_vc.bat
* harbour/contrib/mtpl_vc.mak
* harbour/contrib/hbbtree/common.mak
* harbour/contrib/hbbtree/make_gcc.sh
* harbour/contrib/hbbtree/make_vc.bat
* harbour/contrib/hbwhat/debug.ch
* harbour/contrib/hbwhat/whtdate.c
* harbour/contrib/hbwhat/whtini.c
* harbour/contrib/hbwhat/make_b32.bat
* harbour/contrib/hbwhat/whticon.c
* harbour/contrib/hbwhat/whtcret.c
* harbour/contrib/hbwhat/make_gcc.sh
* harbour/contrib/hbwhat/whtsock.c
* harbour/contrib/hbwhat/whthead.c
* harbour/contrib/hbwhat/whtseria.c
* harbour/contrib/hbwhat/sqltypes.ch
* harbour/contrib/hbwhat/Makefile
* harbour/contrib/hbwhat/whtilst.c
* harbour/contrib/hbwhat/whtreg.c
* harbour/contrib/hbwhat/whtmem.c
* harbour/contrib/hbwhat/whtclpb.c
* harbour/contrib/hbwhat/winini.prg
* harbour/contrib/hbwhat/whtmous.c
* harbour/contrib/hbwhat/whatutil.prg
* harbour/contrib/hbwhat/whtrgn.c
* harbour/contrib/hbwhat/whtmeta.c
* harbour/contrib/hbwhat/whtmapi.c
* harbour/contrib/hbwhat/winrbar.prg
* harbour/contrib/hbwhat/whttbar.c
* harbour/contrib/hbwhat/winerror.prg
* harbour/contrib/hbwhat/whtrect.c
* harbour/contrib/hbwhat/whtbrsh.c
* harbour/contrib/hbwhat/import.ch
* harbour/contrib/hbwhat/whtgdi.c
* harbour/contrib/hbwhat/winstruc.ch
* harbour/contrib/hbwhat/whtscrlb.c
* harbour/contrib/hbwhat/whtdlg.c
* harbour/contrib/hbwhat/whtview.c
* harbour/contrib/hbwhat/whtsys.c
* harbour/contrib/hbwhat/whtlv.c
* harbour/contrib/hbwhat/whtmain.c
* harbour/contrib/hbwhat/whtwnd.c
* harbour/contrib/hbwhat/wintabs.prg
* harbour/contrib/hbwhat/whtmisc.c
* harbour/contrib/hbwhat/whtcomm.c
* harbour/contrib/hbwhat/wincomm.prg
* harbour/contrib/hbwhat/whtmmcap.c
* harbour/contrib/hbwhat/tests/whatdemo.prg
* harbour/contrib/hbwhat/whtprn.c
* harbour/contrib/hbwhat/whtinet.c
* harbour/contrib/hbwhat/hbwhat.ch
* harbour/contrib/hbwhat/whttab.c
* harbour/contrib/hbwhat/make_vc.bat
* harbour/contrib/hbwhat/whtfont.c
* harbour/contrib/hbwhat/whtshell.c
* harbour/contrib/hbwhat/commdlg.ch
* harbour/contrib/hbwhat/whtcdlg.c
* harbour/contrib/hbwhat/wincdlg.prg
* harbour/contrib/hbwhat/whtbmp.c
* harbour/contrib/hbwhat/whtdir.c
* harbour/contrib/hbwhat/winuser.ch
* harbour/contrib/hbwhat/whtpen.c
* harbour/contrib/hbwhat/whtkbrd.c
* harbour/contrib/hbwhat/whttext.c
* harbour/contrib/hbwhat/whtdc.c
* harbour/contrib/hbwhat/whtmsg.c
* harbour/contrib/hbwhat/windebug.prg
* harbour/contrib/hbwhat/wincore.prg
* harbour/contrib/hbwhat/wintbar.prg
* harbour/contrib/hbwhat/common.mak
* harbour/contrib/hbwhat/whtdraw.c
* harbour/contrib/hbwhat/whttree.c
* harbour/contrib/hbwhat/wininet.ch
* harbour/contrib/hbwhat/whtmenu.c
* harbour/contrib/hbwhat/commctrl.ch
* harbour/contrib/hbwhat/wingdi.ch
* harbour/contrib/examples/pe/pe.prg
* harbour/contrib/examples/pe/hbmk_b32.bat
* harbour/contrib/examples/uhttpd/cookie.prg
* harbour/contrib/examples/uhttpd/cgifunc.prg
* harbour/contrib/examples/uhttpd/modules/cookie.prg
* harbour/contrib/examples/dbu/readme.txt
* harbour/contrib/examples/dbu/hbmk_b32.bat
* harbour/contrib/examples/dbu/Makefile
* harbour/utils/hbmake/hbmfrdln.c
* harbour/utils/hbtest/rt_mt.prg
* harbour/utils/hbi18n/hbi18n.prg
* harbour/utils/hbi18n/Makefile
* harbour/make_gcc.mak
* harbour/config/none.cf
* harbour/config/w32/mingwce.cf
* harbour/config/w32/owatcom.cf
* harbour/config/w32/pocc.cf
* svn ps svn:keywords "Author Date Id Revision"
208 lines
6.3 KiB
Plaintext
208 lines
6.3 KiB
Plaintext
/*
|
|
* $Id$
|
|
*/
|
|
|
|
/*
|
|
* xHarbour Project source code:
|
|
* hb_sprintf() function
|
|
*
|
|
* Copyright 2003 Mauricio Abre <maurifull@datafull.com>
|
|
* www - http://www.xharbour.org
|
|
* www - http://www.harbour-project.org
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2, or (at your option)
|
|
* any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this software; see the file COPYING. If not, write to
|
|
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
|
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
|
|
*
|
|
* As a special exception, the Harbour Project gives permission for
|
|
* additional uses of the text contained in its release of Harbour.
|
|
*
|
|
* The exception is that, if you link the Harbour libraries with other
|
|
* files to produce an executable, this does not by itself cause the
|
|
* resulting executable to be covered by the GNU General Public License.
|
|
* Your use of that executable is in no way restricted on account of
|
|
* linking the Harbour library code into it.
|
|
*
|
|
* This exception does not however invalidate any other reasons why
|
|
* the executable file might be covered by the GNU General Public License.
|
|
*
|
|
* This exception applies only to the code released by the Harbour
|
|
* Project under the name Harbour. If you copy code from other
|
|
* Harbour Project or Free Software Foundation releases into a copy of
|
|
* Harbour, as the General Public License permits, the exception does
|
|
* not apply to the code that you add in this way. To avoid misleading
|
|
* anyone as to the status of such modified files, you must delete
|
|
* this exception notice from them.
|
|
*
|
|
* If you write modifications of your own for Harbour, it is your choice
|
|
* whether to permit this exception to apply to your modifications.
|
|
* If you do not wish that, delete this exception notice.
|
|
*
|
|
*/
|
|
|
|
#include "common.ch"
|
|
|
|
FUNCTION hb_sprintf( ... )
|
|
LOCAL aPar, cReturn, nPar, nPos, cTok
|
|
LOCAL nLen := 0, lUnsigned, l0 := .F., lSign := .F., nDec, xVal
|
|
LOCAL cString
|
|
|
|
aPar := HB_aParams()
|
|
cReturn := ""
|
|
cString := aPar[1]
|
|
nPar := 2
|
|
|
|
DO WHILE !Empty( cString )
|
|
|
|
nPos := Len( cString ) + 1
|
|
cTok := NIL
|
|
|
|
IF '%' $ cString
|
|
nPos := At( '%', cString )
|
|
cTok := '%'
|
|
ENDIF
|
|
IF '\' $ cString .AND. At( '\', cString ) < nPos
|
|
nPos := At( '\', cString )
|
|
cTok := '\'
|
|
ENDIF
|
|
|
|
cReturn += Left( cString, nPos - 1 )
|
|
|
|
DO CASE
|
|
CASE cTok == NIL
|
|
EXIT
|
|
|
|
CASE cTok == '\'
|
|
|
|
SWITCH SubStr( cString, ++nPos, 1 )
|
|
CASE 't'
|
|
cReturn += ' '
|
|
EXIT
|
|
|
|
CASE 'n'
|
|
cReturn += Chr( 13 )
|
|
EXIT
|
|
|
|
CASE 'r'
|
|
cReturn += Chr( 10 )
|
|
EXIT
|
|
|
|
OTHERWISE
|
|
cReturn += SubStr( cString, nPos, 1 )
|
|
EXIT
|
|
ENDSWITCH
|
|
|
|
CASE cTok == '%'
|
|
lUnsigned := .F.
|
|
|
|
SWITCH SubStr( cString, ++nPos, 1 )
|
|
CASE '%'
|
|
cReturn += '%'
|
|
EXIT
|
|
|
|
CASE '+'
|
|
cString := Left( cString, nPos - 1 ) + SubStr( cString, nPos + 1 )
|
|
nPos := At( '%', cString ) - 1
|
|
lSign := .T.
|
|
EXIT
|
|
|
|
CASE '0'
|
|
cString := Left( cString, nPos - 1 ) + SubStr( cString, nPos + 1 )
|
|
nPos := At( '%', cString ) - 1
|
|
l0 := .T.
|
|
EXIT
|
|
|
|
CASE '1'
|
|
CASE '2'
|
|
CASE '3'
|
|
CASE '4'
|
|
CASE '5'
|
|
CASE '6'
|
|
CASE '7'
|
|
CASE '8'
|
|
CASE '9'
|
|
nLen := Val( SubStr( cString, nPos ) )
|
|
cTok := Left( cString, nPos - 1 )
|
|
DO WHILE SubStr( cString, nPos, 1 ) $ '1234567890.'
|
|
nPos++
|
|
ENDDO
|
|
cString := cTok + SubStr( cString, nPos )
|
|
nPos := At( '%', cString ) - 1
|
|
EXIT
|
|
|
|
CASE 'u'
|
|
lUnsigned := .T.
|
|
nPos++
|
|
|
|
CASE 'd'
|
|
CASE 'l'
|
|
CASE 'f'
|
|
CASE 'i'
|
|
xVal := aPar[nPar++]
|
|
IF !ISNUMBER( xVal )
|
|
xVal := 0
|
|
ENDIF
|
|
IF nLen != 0
|
|
IF nLen - Int( nLen ) > 0.0
|
|
nDec := Str( nLen )
|
|
DO WHILE Right( nDec, 1 ) == '0'
|
|
nDec := Left( nDec, Len( nDec ) - 1 )
|
|
END
|
|
nDec := Val( SubStr( nDec, At( '.', nDec ) + 1 ) )
|
|
ELSE
|
|
nDec := 0
|
|
ENDIF
|
|
cTok := Str( IIF( lUnsigned, Abs( xVal ), xVal ), nLen, nDec )
|
|
ELSE
|
|
cTok := hb_NToS( IIF( lUnsigned, Abs( xVal ), xVal ) )
|
|
ENDIF
|
|
IF l0
|
|
IF '-' $ cTok .AND. Left( cTok, 1 ) != '-'
|
|
cTok := StrTran( cTok, '-', ' ' )
|
|
cTok := '-' + SubStr( cTok, 2 )
|
|
ENDIF
|
|
cTok := StrTran( cTok, ' ', '0' )
|
|
l0 := .F.
|
|
ENDIF
|
|
IF lSign .AND. Left( cTok, 1 ) != '-'
|
|
IF nLen == 0
|
|
cTok := '+' + cTok
|
|
ELSE
|
|
cTok := '+' + SubStr( cTok, 2 )
|
|
ENDIF
|
|
lSign := .F.
|
|
ENDIF
|
|
nLen := 0
|
|
cReturn += cTok
|
|
EXIT
|
|
|
|
CASE 'c'
|
|
CASE 's'
|
|
IF nLen == 0
|
|
nLen := Len( hb_cStr( aPar[nPar] ) )
|
|
ENDIF
|
|
cReturn += PadL( hb_cStr( aPar[nPar++] ), nLen )
|
|
nLen := 0
|
|
l0 := .F.
|
|
lSign := .F.
|
|
EXIT
|
|
|
|
ENDSWITCH
|
|
ENDCASE
|
|
|
|
cString := SubStr( cString, nPos + 1 )
|
|
ENDDO
|
|
|
|
RETURN cReturn
|