Trim newlines: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
m (Updated author and download links, and changed format of some pages.)
m (Updated author links.)
Line 1: Line 1:
{|align=right
|<small>Author: [[{{ns:2}}:sunjammer|sunjammer]] ([[{{ns:3}}:sunjammer|talk]], [[{{ns:-1}}:Contributions/sunjammer|contrib]])</small>
|}
<br style="clear:both;">
== Description ==
== Description ==
This function trims out the last "$\r$\n" characters of a string.
This function trims out the last "$\r$\n" characters of a string.
Line 31: Line 35:
FunctionEnd
FunctionEnd
</highlight-nsis>
</highlight-nsis>
Page author: [[User:sunjammer|sunjammer]]

Revision as of 03:04, 30 April 2005

Author: sunjammer (talk, contrib)


Description

This function trims out the last "$\r$\n" characters of a string.

The Function

; TrimNewlines
; input, top of stack  (e.g. whatever$\r$\n)
; output, top of stack (replaces, with e.g. whatever)
; modifies no other variables.
 
Function TrimNewlines
  Exch $R0
  Push $R1
  Push $R2
  StrCpy $R1 0
 
loop:
  IntOp $R1 $R1 - 1
  StrCpy $R2 $R0 1 $R1
  StrCmp $R2 "$\r" loop
  StrCmp $R2 "$\n" loop
 
  IntOp $R1 $R1 + 1
  IntCmp $R1 0 no_trim_needed
  StrCpy $R0 $R0 $R1
 
no_trim_needed:
  Pop $R2
  Pop $R1
  Exch $R0
FunctionEnd